Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/01/2010, 12:51
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Respuesta: Error: Terminó el tiempo de espera

Cita:
Iniciado por D_a_n_n_y Ver Mensaje
Hola a todos, espero me puedan ayudar con este problema que tengo. Sucede lo siguiente:

Estoy generando un reporte en exel con ASP colocandole lo siguiente:
<%Response.ContentType = "application/vnd.ms-excel"%>

Para ello realizo un select y dentro del bucle que hago para poder generar las filas respectivas realizo update's, son update's simples como :

UPDATE Visitas SET cod_comision=" & cod_recibo & " WHERE cod_comision is null and nroVisita <= " & totalComisionar & " and cod_regi='" & reclocal("Codigo_Registro") & "'

sin embargo me sale un error de tiempo de espera cuando se quiere ejecutar el update, no se ejecuta niguno del bucle. Cuando lo obtengo por un print y lo ejecuto en mi Analizador de consultas corre y rápido sin ningun problema(en 1 segundo)

Observaciones:
- Si quito el update todo funciona correctamente.
- Ya intente colocandole a Response.Expires = -1
- Ya intente colocandole Server.ScriptTimeOut = 86000 o 0
- Ya intente colocandole CommandTimeOut = 600 o 0
- Le he creado indices a la tabla
- Le he quitado el tiempo de espera a la Base de datos con la siguiente funcion
sp_configure 'remote login timeout', 0
go
reconfigure with override
go

El mensaje completo del error es:
Proveedor de Microsoft OLE DB para SQL Server (0x80040E31)
Terminó el tiempo de espera

Estoy usando SQL 7.0 y ASP por si le es necesario. Creanme q ya intente todo, no se me ocurre nada mas. Por favor necesito ayuda URGENTE !!!!

Por el tipo de error y la descripción que das, a mi me parecería que es un problema con tu ciclo, quizás tenga alguna condición en la que se convierte en un ciclo infinito.

Otra cosa podría ser que tu set de datos sea inmenso, con lo cual desde luego es muchísimo más lento manejarlo desde la capa de aplicación que a nivel de base de datos, por eso es que si lo corres en tu query analizer será rápido, pero no necesariamente será así si lo haces desde el código duro.

Tendrías que poner el código relevante para este problema a ver si te podemos ayudar a resolver el misterio.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway