Error alguna sugerenci

15/01/2004 - 17:18 por César A. Fong Espinola | Informe spam
quisiera hacer una consulta por que la verdad no se como solucionar un error
q me sale en el desarrollo de un sistema, te cuento que estoy desarrollando
en Visual Interdev 6.0 y SQL Server 7.0 y me sale el siguiente error cuando
cargo la pagina del reporte la cual es llamada desde otra, el problema
siempre es en la conección "RS1.Open sql1, conn1, 3, 3" ya sea del recordset
RS1,RS2,RS3 donde sale el error en el ejemplo es del recordset RS1. A pesar
de haber colocado el Response.Buffer y el Server.ScriptTimeout me sale el
mismo error.

Tienen alguna idea de como solucionar este inconveniente? , pues no me deja
avanzar, además que cuando los registros de la tabla del Sp_procedure son
pocos no ocurre este problema este surge cuando los registros son muchos, la
tabla con la que trabajo es de aprox. 2'500,000 registros



Proveedor de Microsoft OLE DB para SQL Server error '80040e31'

Terminó el tiempo de espera

/sunat/CodUbigeoresultado.asp, line 151



Response.Buffer=true

Server.ScriptTimeout400

sql1="exec Sp_ContribDD "
sql2="exec Sp_ContribPP "
sql3="exec Sp_ContribDI "

RS1.CursorLocation=3
RS1.Open sql1, conn1, 3, 3
RS1.movefirst

Response.Flush

RS2.CursorLocation=3
RS2.Open sql2, conn1, 3, 3
RS2.movefirst

Response.Flush

RS3.CursorLocation=3
RS3.Open sql3, conn1, 3, 3
RS3.movefirst

Response.Flush

Preguntas similare

Leer las respuestas

#6 Manuel Etcheto
15/01/2004 - 22:15 | Informe spam
Hola
El problema es lo que estás intentando hacer...
Cada recordset del lado cliente te genera un rowset en el
provider y luego transfiere toooodos los datos de tu
consulta a la aplicación que lo llamó para que "arme" tu
recordset client-side, y además son 3...
Ese esquema puede funcionar solo si tienes mucha ram,
pocos datos y pocos usuarios.
La solución puede ser +timeout +memoria, o repensar lo que
le estás pidiendo a un script asp y solo trabajar con los
datos imprescindibles y de la manera más eficiente
posible. Si es un proceso muy importante que se hará de a
un solo usuario deberías desarrollarlo en otro lenguaje
más potente y no en un script.

Si nos dices qué quieres hacer con esos 3 recordset quizá
te podamos ayudar a optimizar tu planteo. Aquí lo de los
SP y en el grupo ado lo referente a esos objetos.

Acoto, Response.flush no tiene nada que ver con esto, es
para enviar el contenido que tenga el objeto response al
explorador del cliente, en este caso nada, solo molestar
con 3 llamadas al objeto.

Suerte
Manuel


quisiera hacer una consulta por que la verdad no se como


solucionar un error
q me sale en el desarrollo de un sistema, te cuento que


estoy desarrollando
en Visual Interdev 6.0 y SQL Server 7.0 y me sale el


siguiente error cuando
cargo la pagina del reporte la cual es llamada desde


otra, el problema
siempre es en la conección "RS1.Open sql1, conn1, 3, 3"


ya sea del recordset
RS1,RS2,RS3 donde sale el error en el ejemplo es del


recordset RS1. A pesar
de haber colocado el Response.Buffer y el


Server.ScriptTimeout me sale el
mismo error.

Tienen alguna idea de como solucionar este


inconveniente? , pues no me deja
avanzar, además que cuando los registros de la tabla del


Sp_procedure son
pocos no ocurre este problema este surge cuando los


registros son muchos, la
tabla con la que trabajo es de aprox. 2'500,000 registros



Proveedor de Microsoft OLE DB para SQL Server


error '80040e31'

Terminó el tiempo de espera

/sunat/CodUbigeoresultado.asp, line 151



Response.Buffer=true

Server.ScriptTimeout400

sql1="exec Sp_ContribDD "
sql2="exec Sp_ContribPP "
sql3="exec Sp_ContribDI "

RS1.CursorLocation=3
RS1.Open sql1, conn1, 3, 3
RS1.movefirst

Response.Flush

RS2.CursorLocation=3
RS2.Open sql2, conn1, 3, 3
RS2.movefirst

Response.Flush

RS3.CursorLocation=3
RS3.Open sql3, conn1, 3, 3
RS3.movefirst

Response.Flush


.

Respuesta Responder a este mensaje
#7 Javier Loria
16/01/2004 - 01:52 | Informe spam
Hola Cesar:
Alguno de los procedimientos tarda mas del TimeOut que asignaste a la
Conneccion de SQL, que no tiene nada que ver con el ScriptTimeOut.
Te quedan varias alternativas: Aumentar el TimeOut o revisar el codigo
del Procedimiento para optimizarlo y que corra mas rapido o ver si tiene
algun problema. La primera es mas rapida, y obviamente la segunda es la
mejor.
Cuanto tiempo tardan los procedimientos en ejecutarse desde el
Analizador de Consultas?

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
César A. Fong Espinola escribio:
quisiera hacer una consulta por que la verdad no se como solucionar
un error q me sale en el desarrollo de un sistema, te cuento que
estoy desarrollando en Visual Interdev 6.0 y SQL Server 7.0 y me sale
el siguiente error cuando cargo la pagina del reporte la cual es
llamada desde otra, el problema siempre es en la conección "RS1.Open
sql1, conn1, 3, 3" ya sea del recordset RS1,RS2,RS3 donde sale el
error en el ejemplo es del recordset RS1. A pesar de haber colocado
el Response.Buffer y el Server.ScriptTimeout me sale el mismo error.

Tienen alguna idea de como solucionar este inconveniente? , pues no
me deja avanzar, además que cuando los registros de la tabla del
Sp_procedure son pocos no ocurre este problema este surge cuando los
registros son muchos, la tabla con la que trabajo es de aprox.
2'500,000 registros



Proveedor de Microsoft OLE DB para SQL Server error '80040e31'

Terminó el tiempo de espera

/sunat/CodUbigeoresultado.asp, line 151



Response.Buffer=true

Server.ScriptTimeout400

sql1="exec Sp_ContribDD "
sql2="exec Sp_ContribPP "
sql3="exec Sp_ContribDI "

RS1.CursorLocation=3
RS1.Open sql1, conn1, 3, 3
RS1.movefirst

Response.Flush

RS2.CursorLocation=3
RS2.Open sql2, conn1, 3, 3
RS2.movefirst

Response.Flush

RS3.CursorLocation=3
RS3.Open sql3, conn1, 3, 3
RS3.movefirst

Response.Flush
Respuesta Responder a este mensaje
#8 César A. Fong Espinola
20/01/2004 - 01:49 | Informe spam
gracias por todo maximiliano lo vere :D
"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in message
news:
Claro, el tema es asi:

Cada Store quizas haga algunos bloqueos en las tablas y si hasta que no se
desbloquee estara esperando el seguiente y por eso te marca Timeout.

Deberias ver en tus libros on line por ej:

Bloqueos

o en www.portalsql.com o en www.helpdna.net

tambien en la pagina de microsoft encontraras muy buena informacion sobre
este tema.

Salu2

Maximiliano Damian Accotto


"César A. Fong Espinola" escribió en el mensaje
news:
> dónde debo ver eso.. ? disculpa la preguntadera ;)
> "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
message
> news:
> > ahh pero parate, quizas estes teniendo problemas de Bloqueo y por eso


el
> > Timeout, revisa eso por favor
> >
> > Salu2
> > Maximiliano Damian Accotto
> >
> >
> > "César A. Fong Espinola" escribió en el mensaje
> > news:
> > > Gracias Maximiliano por tus respuestas.. cuando corro cada SP por
> separado
> > > no me da problema .. el problema es cuando corren los tres a la vez
pero
> > > trataré lo que me dices de todas maneras
> > >
> > > César
> > >
> > > "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
> > message
> > > news:%
> > > > primero instalate los nuevos MDAC, luego me parece o que el Sql


esta
> > fuera
> > > > de linea o que como te estas conectando hay algun problema.
> > > >
> > > > Proba con un cliente cualquiera a ver si te conectas por ej desde


un
> > Excel
> > > a
> > > > ese Servidor o con el mismo Query Analizer.
> > > >
> > > > Salu2
> > > >
> > > > Maximiliano Damian Accotto
> > > >
> > > >
> > > > "César A. Fong Espinola" escribió en el


mensaje
> > > > news:
> > > > > quisiera hacer una consulta por que la verdad no se como
solucionar
> un
> > > > error
> > > > > q me sale en el desarrollo de un sistema, te cuento que estoy
> > > > desarrollando
> > > > > en Visual Interdev 6.0 y SQL Server 7.0 y me sale el siguiente
error
> > > > cuando
> > > > > cargo la pagina del reporte la cual es llamada desde otra, el
> problema
> > > > > siempre es en la conección "RS1.Open sql1, conn1, 3, 3" ya sea


del
> > > > recordset
> > > > > RS1,RS2,RS3 donde sale el error en el ejemplo es del recordset
RS1.
> A
> > > > pesar
> > > > > de haber colocado el Response.Buffer y el Server.ScriptTimeout


me
> sale
> > > el
> > > > > mismo error.
> > > > >
> > > > > Tienen alguna idea de como solucionar este inconveniente? , pues
no
> me
> > > > deja
> > > > > avanzar, además que cuando los registros de la tabla del
> Sp_procedure
> > > son
> > > > > pocos no ocurre este problema este surge cuando los registros


son
> > > muchos,
> > > > la
> > > > > tabla con la que trabajo es de aprox. 2'500,000 registros
> > > > >
> > > > >
> > > > >
> > > > > Proveedor de Microsoft OLE DB para SQL Server error '80040e31'
> > > > >
> > > > > Terminó el tiempo de espera
> > > > >
> > > > > /sunat/CodUbigeoresultado.asp, line 151
> > > > >
> > > > >
> > > > >
> > > > > Response.Buffer=true
> > > > >
> > > > > Server.ScriptTimeout400
> > > > >
> > > > > sql1="exec Sp_ContribDD "
> > > > > sql2="exec Sp_ContribPP "
> > > > > sql3="exec Sp_ContribDI "
> > > > >
> > > > > RS1.CursorLocation=3
> > > > > RS1.Open sql1, conn1, 3, 3
> > > > > RS1.movefirst
> > > > >
> > > > > Response.Flush
> > > > >
> > > > > RS2.CursorLocation=3
> > > > > RS2.Open sql2, conn1, 3, 3
> > > > > RS2.movefirst
> > > > >
> > > > > Response.Flush
> > > > >
> > > > > RS3.CursorLocation=3
> > > > > RS3.Open sql3, conn1, 3, 3
> > > > > RS3.movefirst
> > > > >
> > > > > Response.Flush
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


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