![]() |
Tiempo de espera Hola, yo tengo un procedimiento almacenado en sql-server que cuando lo ejecuto desde el Analizador de Consultas del mismo SQLSERVER 2000, demora aproximadamente unos 6 minutos, y ese mismo procedimiento lo ejecuto desde una pagina "aspx" y el resultado pasarlo aun datagrid, para ejectutar esto utilizo u SQLCommand y el resultado lo paso aun DataReader, y me sale el siguiente error: Object reference not set to an instance of an object. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [NullReferenceException: Object reference not set to an instance of an object.] indicegestion.WebForm1.Button1_Click(Object sender, EventArgs e) +1174 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +58 System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1277 :adios: |
Cual es tu código? |
el codigo es lo siguiente: cmd = New SqlClient.SqlCommand(rdlsp.SelectedItem.Value, con) cmd.CommandType = CommandType.StoredProcedure anomes = New SqlClient.SqlParameter("@lcPeriodo", SqlDbType.VarChar) reproceso = New SqlClient.SqlParameter("@lbreproceso", SqlDbType.Bit) reproceso.Value = CInt("1") cmd.Parameters.Add(anomes) cmd.Parameters.Add(reproceso) dr = cmd.ExecuteReader() dgrid2.DataSource = dr dgrid2.DataBind() dr.Close() |
Cita:
Por otro lado (como sugerencia) puedes colocar tu código de la siguiente manera para que sea mas entendible. Cita:
Cita:
Saludos y suerte :cool: |
el value de ano mes lo inserto desde otro procedimiento que se me olvido ponerle por otro lado He sabido de una variable Timeout expired donde lo puedo encontrar esta variable o atributo |
Cita:
Mas bien eso te marca cuando el tiempo de respuesta es muy largo...nuevamente te pregunto si ya indexaste tus campos, porque 6 minutos de respuesta es mucho tiempo.... :stress: Saludos |
los campos estas indexados, pero aveces me sale un mensaje de error como sigue: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.] System.Data.SqlClient.SqlCommand.ExecuteReader(Com mandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +723 System.Data.SqlClient.SqlCommand.ExecuteReader() +42 indicegestion.WebForm1.Button1_Click(Object sender, EventArgs e) +1213 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1277 |
Si ya no se puede optimizar el tiempo de la consulta, tal vez podrías modificar la propiedad 'CommandTimeout' del objeto sqlCommand, con la cual puedes modificar el tiempo de espera a un intervalo que supere los 6 minutos de tu consulta, o establecerlo a 0, con lo que esperaria indefinidamente hasta que la consulta responda. |
Yo pienso que la raiz del problema esta en la base de datos, por muy complicada que sea la consulta (con numerables subconsultas...), es imposible que te tarde ese tiempo. Y si fuera así, por circunstancias como que estés trabajando con un 286, no pretenderás hacer esperar al usuario de tu app web tanto tiempo, no?? Mi consejo es que revises bien la base de datos, (procedimientos almacenados, relaciones, etc) Venga, saludos y suerte!! |
estoy trabajndo en una hp compaq y twengo un buen servidor que tambien es compaq, lo he puesto el CommandTimeout = 0 ahora me sale el siguiente error Request timed out. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Web.HttpException: Request timed out. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [HttpException (0x80004005): Request timed out.] pero ahora la pagina demoro un poco mas, creo ya ya estos creca de la solucion, una ayudada mas por fa |
Re: Tiempo de espera El problema son los timeout... yo he encontrado 3 timeout que interfieren al momento de hacer consultas en bases de datos en paginas ASPX 1. timeout de la pagina 2. timeout de la conexion 3. timeout del adaptador 1: El timeout de la pagina se soluciona con la siguiente linea: Server.ScriptTimeout = 3600; // 3600 = 1 hora Este timeout solo afecta el procedimiento donde se encuentre, osea que usenlo sin problemas 2: el timeout de la conexion se maneja en el "connectionString" y debe incluir el valor "Connect Timeout=3600;". 3: el timeout del adaptador se solucion asi: SqlDataAdapter myAdapter = new SqlDataAdapter(); myAdapter.SelectCommand.CommandTimeout = 3600; -------- con esto deberias poder hacer consulta hasta de 1 hora :-) ahora yo necesito una ayudita adicional: parece que al utilizar ASP.NET AJAX existe un timeout adicional, porque luego de 1 minuto me lanza un timeout ¿alguien sabe como controlar el tiempo de respuesta cuando se utiliza ajax? muchas gracias |
Re: Tiempo de espera se que deberia optimizarce la BD, pero eso toma mucho mas tiempo y se necesitan soluciones rapidas... ademas asumo (es mi caso) una consulta de 2 minutos solo esta destinado a poquisimos usuarios en una pagina que tengan los permisos especiales para generar reportes, por ejemplo, de deudores, estados financieron de miles de clientes. muchas gracias a los que puedan aportar que otros timeout interfieren en una pagina ASPX saludos |
Re: Tiempo de espera 27/05/04, 19:42:45 Wow, siguen vivos los post jeje Salu2 |
| La zona horaria es GMT -6. Ahora son las 21:13. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.