Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 27-may-2004, 18:42   #1 (permalink)
alexander21rr está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
Triste 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


__________________
javier
alexander21rr está desconectado   Responder Citando
Antiguo 27-may-2004, 19:46   #2 (permalink)
RsOfT está en el buen camino
 
Avatar de RsOfT
 
Fecha de Ingreso: noviembre-2002
Ubicación: InterNET
Mensajes: 1.005
Enviar un mensaje por ICQ a RsOfT Enviar un mensaje por Yahoo  a RsOfT
Cual es tu código?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
RsOfT está desconectado   Responder Citando
Antiguo 28-may-2004, 07:23   #3 (permalink)
alexander21rr está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
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()
__________________
javier
alexander21rr está desconectado   Responder Citando
Antiguo 28-may-2004, 09:03   #4 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.552
Enviar un mensaje por MSN a RootK
Cita:
del mismo SQLSERVER 2000, demora aproximadamente unos 6 minutos
Es demasiado el tiempo de respuesta no crees..?? antes que nada ya indexaste tus campos para un mejor tiempo de respuesta..??

Por otro lado (como sugerencia) puedes colocar tu código de la siguiente manera para que sea mas entendible.

Cita:
Dim myConnection As New SqlConnection("tu_cadena_De_conexion")
Dim myCommand As New SqlCommand("nombre_de_SP", myConnection)

Dim parameterPeriodo As New SqlParameter("@lcPeriodo", SqlDbType.VarChar, tamaño)
parameterPeriodo .Value = "el valor"
myCommand.Parameters.Add(parameterPeriodo )

Dim parameterProceso As New SqlParameter("@lbreproceso", SqlDbType.Bit)
parameterProceso .Value = 1
myCommand.Parameters.Add(parameterProceso)

myConnection.Open()
Dim dr As SqlDataReader = myCommand.ExecuteReader()

dgrid2.DataSource = dr
dgrid2.DataBind()
dr.Close()
myConnection.Close
Por otro lado:

Cita:
Object reference not set to an instance of an object.
Source Error:
Por lo regular se refiera a que se está haciendo referencia a algun objeto pero éste no existe..., cheques tu código y verifica que los estas llamando correctamente , por cierto... te falta el value de "anomes", le estas mandando un varchar pero no le estás asignando valor...(o acaso es un parámetro de salida ?? )


Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 28-may-2004, 09:27   #5 (permalink)
alexander21rr está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
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
__________________
javier
alexander21rr está desconectado   Responder Citando
Antiguo 28-may-2004, 09:38   #6 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.552
Enviar un mensaje por MSN a RootK
Cita:
He sabido de una variable
Timeout expired
donde lo puedo encontrar esta variable o atributo
Variable TimeOut expired..??

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....

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 29-may-2004, 09:15   #7 (permalink)
alexander21rr está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
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
__________________
javier
alexander21rr está desconectado   Responder Citando
Antiguo 29-may-2004, 11:18   #8 (permalink)
rcorichard está en el buen camino
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco
Mensajes: 47
Enviar un mensaje por MSN a rcorichard
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.
__________________
Si puedes pensarlo, puedes hacerlo.

Última edición por rcorichard; 29-may-2004 a las 11:19.
rcorichard está desconectado   Responder Citando
Antiguo 29-may-2004, 11:31   #9 (permalink)
GeRuNdIo está en el buen camino
 
Avatar de GeRuNdIo
 
Fecha de Ingreso: marzo-2004
Ubicación: Sanlúcar de Barrameda, Cádiz
Mensajes: 229
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!!
__________________
Una buena forma de sacar las castañas del fuego sin quemarse: LEE FOROSDELWEB..... :si:
------
Fernando Pérez de la Rosa. MCAD .NET
GeRuNdIo está desconectado   Responder Citando
Antiguo 29-may-2004, 16:48   #10 (permalink)
alexander21rr está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
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
__________________
javier
alexander21rr está desconectado   Responder Citando
Antiguo 21-ene-2008, 16:47   #11 (permalink)
ar7uro está en el buen camino
 
Fecha de Ingreso: febrero-2004
Mensajes: 8
De acuerdo 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
ar7uro está desconectado   Responder Citando
Antiguo 21-ene-2008, 16:57   #12 (permalink)
ar7uro está en el buen camino
 
Fecha de Ingreso: febrero-2004
Mensajes: 8
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
ar7uro está desconectado   Responder Citando
Antiguo 21-ene-2008, 19:28   #13 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.552
Enviar un mensaje por MSN a RootK
Re: Tiempo de espera

27/05/04, 19:42:45

Wow, siguen vivos los post jeje

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 11:04.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93