Tiempo de espera agotado al ejecutar una consulta

1,293 views
Skip to first unread message

Carlos Admirador

unread,
Feb 4, 2021, 3:04:44 PM2/4/21
to AltNet-Hispano

Tengo una consulta enorme que se ejecuta con SqlDataAdapter.Fill para generar un Datatable y mostrar un informe en una página ASP.NET WebForms.

Se obtiene un error:

System.Data.SqlClient.SqlException (0x80131904): Se agotó el tiempo de espera de ejecución. El período de tiempo de espera transcurrió antes de la finalización de la operación o el servidor no responde.

---> System.ComponentModel.Win32Exception (0x80004005): Tiempo de espera de la operación de espera agotado


Probé:

command.CommandTimeout = 36000;
command.CommandTimeout = 0; // Infinito

<httpRuntime targetFramework="4.7.1" executionTimeout="36000" />

Server.ScriptTimeout


Y sigue el mismo error, y no tarda en aparecer mucho (menos de 2 minutos) el error SQL.

Carlos Admirador

unread,
Feb 4, 2021, 3:19:56 PM2/4/21
to AltNet-Hispano

public DataTable DameDT(string query, string cadConex = null)

        {

            DataTable dt = new DataTable();

            System.Data.SqlClient.SqlDataAdapter da;

            try

            {

                Query = query;

                ExceptionSQL = null;

                ErrorSQL = "";

                RegistrosAfectados = 0;

                this.Conecta(cadConex);

                cmd.Connection = cn;

                cmd.CommandText = query;

                if (CommandTimeout.HasValue) cmd.CommandTimeout = CommandTimeout.Value; // The default is 30 seconds.

                da = new System.Data.SqlClient.SqlDataAdapter(cmd.CommandText, cn);

                da.Fill(dt);

                if (dt != null)

                {

                    RegistrosAfectados = dt.Rows.Count;

                }

                return dt;

            }

            catch (Exception ex)

            {

                ExceptionSQL = ex;

                ErrorSQL = ex.ToString();

                Trace.WriteLine(("SQLTools Error " + ErrorSQL));

                //this.Desconecta();

                return null;

            }

            finally

            {

                this.Desconecta();

            }

 

        }

Reply all
Reply to author
Forward
0 new messages