Timeout expired!

18/10/2005 - 18:51 por madrigal | Informe spam
Hola grupo tengo una página que manda ejecutar un ejecuta un stored
procedure, que realiza actualizaciones en algunas tablas de la base de datos,
en el query analyzer tarda 2 ó 3 min, pero cuando lo ejecuto desde la página
me da el error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[Microsoft][ODBC SQL Server Driver]Timeout expired

cómo hago para que el proceso logre ejecutarse?. Hay manera de enviar la
ejecución y la página no espere el resultado?

Gracias de antemano por su ayuda.

Preguntas similare

Leer las respuestas

#6 Matías Iacono
19/10/2005 - 00:23 | Informe spam
ConnectionTimeout esta relacionado al tiempo de espera entre tu equipo y el
servidor de base de datos.

Muchas veces, por ejemplo, en SQL Server, puede tener muchas peticiones de
conexion, lo cual hace que el servidor no responda a tiempo, y la conexion
se queda esperando un tiempo hasta que, si no le llega respuesta, genera un
error de conexion.

En el caso del commandtimeout hace referencia a la ejecucion de una consulta
en si. O sea, que si tu consulta tarda mucho tiempo en ejecutarse, el objeto
optara por generar un error. Si le aumentas el tiempo en cuestion logras que
el objeto se quede esperando mas tiempo. Hasta que la ejecucion se termine,
o el nuevo timeout concluya.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
"madrigal" escribió en el mensaje
news:
Matías, esta sugerencia resolvió mi problema, sin embargo no logro
entender
cuál es la diferencia entre

conn.CommandTimeout = 360
y
conn.ConnectionTimeout = 1200

Gracias nuevamente por tu valiosa ayuda.


"Matías Iacono" escribió:

En realidad el problema no es tu script, si no, tu conexion. Por el error
que te da, deberias modificar el tiempo del objeto conn.

Si no mal recuerdo, creo que posee el mismo metodo para manejar el
timeout.

Si no estoy confundido, dentro del conn, podrias hacer algo asi:

conn.CommandTimeout = 360

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
"madrigal" escribió en el mensaje
news:
> Gracias Matías, ya lo estoy intentando pero tampoco me funciona, he
> aquí
> el
> código:
>
> Dim conn,rs,strConnect,strSQL
> set conn = Server.CreateObject("ADODB.Connection")
> set rs = Server.CreateObject("ADODB.Recordset")
> strConnect = "DRIVER={SQL
> Server};SERVER=server;UID=user1;PWD=user1;DATABASE=dataprod"
>
> Server.ScriptTimeout = 360
>
> QryStr = "set nocount on "&_
> "DECLARE @RC int "&_
> "DECLARE @RC2 int "&_
> "EXEC @RC = [dataprod].[dbo].[CCP_ESTADO_CUENTA_GET] "&_
> "EXEC @RC2 = [dataprod].[dbo].[CCP_ESTADO_CUENTA_RES_Get_Data] "&_
> "SELECT CONVERT(nvarchar, @RC) 'Res1', CONVERT(nvarchar, @RC2) 'Res2'
> "&_
> "set nocount off"
>
> conn.Execute(QryStr)
> conn.close
> set conn = nothing
>
>
> conn.ConnectionTimeout = 1200
>
> conn.Open strConnect
>
>
> Alguna idea de lo que puede estar mal?.
>
> Gracias nuevamente.
>
>
> "Matías Iacono" escribió:
>
>> Lo que puedes hacer es aumentar el timeout de tu objeto.
>>
>> Creo que es Objeto.timeout = CantidadDeSegundos
>>
>> Saludos.
>>
>> Matías Iacono
>> Microsoft MVP ASP/ASP.net - DCE3
>> "madrigal" escribió en el mensaje
>> news:
>> > Hola grupo tengo una página que manda ejecutar un ejecuta un stored
>> > procedure, que realiza actualizaciones en algunas tablas de la base
>> > de
>> > datos,
>> > en el query analyzer tarda 2 ó 3 min, pero cuando lo ejecuto desde
>> > la
>> > página
>> > me da el error:
>> > Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
>> > [Microsoft][ODBC SQL Server Driver]Timeout expired
>> >
>> > cómo hago para que el proceso logre ejecutarse?. Hay manera de
>> > enviar
>> > la
>> > ejecución y la página no espere el resultado?
>> >
>> > Gracias de antemano por su ayuda.
>>
>>
>>



Respuesta Responder a este mensaje
#7 madrigal
20/10/2005 - 02:01 | Informe spam
De acuerdo Matías, ahora me ha quedado claro.

Gracias y saludos desde México.

"Matías Iacono" escribió:

ConnectionTimeout esta relacionado al tiempo de espera entre tu equipo y el
servidor de base de datos.

Muchas veces, por ejemplo, en SQL Server, puede tener muchas peticiones de
conexion, lo cual hace que el servidor no responda a tiempo, y la conexion
se queda esperando un tiempo hasta que, si no le llega respuesta, genera un
error de conexion.

En el caso del commandtimeout hace referencia a la ejecucion de una consulta
en si. O sea, que si tu consulta tarda mucho tiempo en ejecutarse, el objeto
optara por generar un error. Si le aumentas el tiempo en cuestion logras que
el objeto se quede esperando mas tiempo. Hasta que la ejecucion se termine,
o el nuevo timeout concluya.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
"madrigal" escribió en el mensaje
news:
> Matías, esta sugerencia resolvió mi problema, sin embargo no logro
> entender
> cuál es la diferencia entre
>
> conn.CommandTimeout = 360
> y
> conn.ConnectionTimeout = 1200
>
> Gracias nuevamente por tu valiosa ayuda.
>
>
> "Matías Iacono" escribió:
>
>> En realidad el problema no es tu script, si no, tu conexion. Por el error
>> que te da, deberias modificar el tiempo del objeto conn.
>>
>> Si no mal recuerdo, creo que posee el mismo metodo para manejar el
>> timeout.
>>
>> Si no estoy confundido, dentro del conn, podrias hacer algo asi:
>>
>> conn.CommandTimeout = 360
>>
>> Saludos.
>>
>> Matías Iacono
>> Microsoft MVP ASP/ASP.net - DCE3
>> "madrigal" escribió en el mensaje
>> news:
>> > Gracias Matías, ya lo estoy intentando pero tampoco me funciona, he
>> > aquí
>> > el
>> > código:
>> >
>> > Dim conn,rs,strConnect,strSQL
>> > set conn = Server.CreateObject("ADODB.Connection")
>> > set rs = Server.CreateObject("ADODB.Recordset")
>> > strConnect = "DRIVER={SQL
>> > Server};SERVER=server;UID=user1;PWD=user1;DATABASE=dataprod"
>> >
>> > Server.ScriptTimeout = 360
>> >
>> > QryStr = "set nocount on "&_
>> > "DECLARE @RC int "&_
>> > "DECLARE @RC2 int "&_
>> > "EXEC @RC = [dataprod].[dbo].[CCP_ESTADO_CUENTA_GET] "&_
>> > "EXEC @RC2 = [dataprod].[dbo].[CCP_ESTADO_CUENTA_RES_Get_Data] "&_
>> > "SELECT CONVERT(nvarchar, @RC) 'Res1', CONVERT(nvarchar, @RC2) 'Res2'
>> > "&_
>> > "set nocount off"
>> >
>> > conn.Execute(QryStr)
>> > conn.close
>> > set conn = nothing
>> >
>> >
>> > conn.ConnectionTimeout = 1200
>> >
>> > conn.Open strConnect
>> >
>> >
>> > Alguna idea de lo que puede estar mal?.
>> >
>> > Gracias nuevamente.
>> >
>> >
>> > "Matías Iacono" escribió:
>> >
>> >> Lo que puedes hacer es aumentar el timeout de tu objeto.
>> >>
>> >> Creo que es Objeto.timeout = CantidadDeSegundos
>> >>
>> >> Saludos.
>> >>
>> >> Matías Iacono
>> >> Microsoft MVP ASP/ASP.net - DCE3
>> >> "madrigal" escribió en el mensaje
>> >> news:
>> >> > Hola grupo tengo una página que manda ejecutar un ejecuta un stored
>> >> > procedure, que realiza actualizaciones en algunas tablas de la base
>> >> > de
>> >> > datos,
>> >> > en el query analyzer tarda 2 ó 3 min, pero cuando lo ejecuto desde
>> >> > la
>> >> > página
>> >> > me da el error:
>> >> > Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
>> >> > [Microsoft][ODBC SQL Server Driver]Timeout expired
>> >> >
>> >> > cómo hago para que el proceso logre ejecutarse?. Hay manera de
>> >> > enviar
>> >> > la
>> >> > ejecución y la página no espere el resultado?
>> >> >
>> >> > Gracias de antemano por su ayuda.
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida