Query Timeout

01/06/2004 - 09:32 por Faco | Informe spam
Utilizo cursores. Se trata de una función
definida por el usuario, que devuelve una tabla.
La estructura de la función es así: para cada registro de
una tabla (aquí utilizo un cursor para ir recorriendo los
registros) hago una consulta cruzada con registros de otra
tabla (aquí va el 2º cursor para recorrer esta 2ª tabla;
este cursor es de tipo SCROLL). En función de los
resultados de esta cosulta cruzada voy construyendo la
tabla que debo devolver.
Esta función me funciona perfectamente en el analizador de
consultas. El problema es que cuando la utilizo desde
Access (en un adp) me da el error "Finalizó el tiempo de
espera". Ya he probado con establecer la
propiedad "tiempo de espera de OLE/DDE" a 0 en las
opciones de Access, y también a establecer en el código
VBA "CurrentProject.Connection.CommandTimeout = 0", pero
parece ignorar esta instrucción.
Por favor, si alguien sabe algo mas, agradeceria su ayuda
Faco

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
01/06/2004 - 09:59 | Informe spam
Pues así, a simple vista, no parece necesario que tengas que usar
cursores para una consulta del tipo que indicas... ¿Podrías detallar más lo
que necesitas mostrar en esa consulta?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Faco" escribió en el mensaje
news:1622c01c447aa$a74780b0$
Utilizo cursores. Se trata de una función
definida por el usuario, que devuelve una tabla.
La estructura de la función es así: para cada registro de
una tabla (aquí utilizo un cursor para ir recorriendo los
registros) hago una consulta cruzada con registros de otra
tabla (aquí va el 2º cursor para recorrer esta 2ª tabla;
este cursor es de tipo SCROLL). En función de los
resultados de esta cosulta cruzada voy construyendo la
tabla que debo devolver.
Esta función me funciona perfectamente en el analizador de
consultas. El problema es que cuando la utilizo desde
Access (en un adp) me da el error "Finalizó el tiempo de
espera". Ya he probado con establecer la
propiedad "tiempo de espera de OLE/DDE" a 0 en las
opciones de Access, y también a establecer en el código
VBA "CurrentProject.Connection.CommandTimeout = 0", pero
parece ignorar esta instrucción.
Por favor, si alguien sabe algo mas, agradeceria su ayuda
Faco
Respuesta Responder a este mensaje
#2 Javier Loria
01/06/2004 - 13:54 | Informe spam
Hola Faco:
Lo tuyo (los cursores) se puede curar :D
En todo caso cuanto tiempo le toma esta consulta al QA? y en Access da
el informe inmediatamente o lo hace despues de 30/40 segundos?

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.

Faco escribio:
Utilizo cursores. Se trata de una función
definida por el usuario, que devuelve una tabla.
La estructura de la función es así: para cada registro de
una tabla (aquí utilizo un cursor para ir recorriendo los
registros) hago una consulta cruzada con registros de otra
tabla (aquí va el 2º cursor para recorrer esta 2ª tabla;
este cursor es de tipo SCROLL). En función de los
resultados de esta cosulta cruzada voy construyendo la
tabla que debo devolver.
Esta función me funciona perfectamente en el analizador de
consultas. El problema es que cuando la utilizo desde
Access (en un adp) me da el error "Finalizó el tiempo de
espera". Ya he probado con establecer la
propiedad "tiempo de espera de OLE/DDE" a 0 en las
opciones de Access, y también a establecer en el código
VBA "CurrentProject.Connection.CommandTimeout = 0", pero
parece ignorar esta instrucción.
Por favor, si alguien sabe algo mas, agradeceria su ayuda
Faco
Respuesta Responder a este mensaje
#3 Jose Mariano Alvarez \(MUG\)
01/06/2004 - 15:25 | Informe spam
Coincido con Carlos.
Si fuera posible lo haría sin cursores. Pero si fuera necesario usar
cursores, no podrías usar un cursor fastforward? Es más eficiente.


Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar


"Carlos Sacristan" <csacristan ARROBA mvps.org> wrote in message
news:%

Pues así, a simple vista, no parece necesario que tengas que usar
cursores para una consulta del tipo que indicas... ¿Podrías detallar más


lo
que necesitas mostrar en esa consulta?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Faco" escribió en el mensaje
news:1622c01c447aa$a74780b0$
Utilizo cursores. Se trata de una función
definida por el usuario, que devuelve una tabla.
La estructura de la función es así: para cada registro de
una tabla (aquí utilizo un cursor para ir recorriendo los
registros) hago una consulta cruzada con registros de otra
tabla (aquí va el 2º cursor para recorrer esta 2ª tabla;
este cursor es de tipo SCROLL). En función de los
resultados de esta cosulta cruzada voy construyendo la
tabla que debo devolver.
Esta función me funciona perfectamente en el analizador de
consultas. El problema es que cuando la utilizo desde
Access (en un adp) me da el error "Finalizó el tiempo de
espera". Ya he probado con establecer la
propiedad "tiempo de espera de OLE/DDE" a 0 en las
opciones de Access, y también a establecer en el código
VBA "CurrentProject.Connection.CommandTimeout = 0", pero
parece ignorar esta instrucción.
Por favor, si alguien sabe algo mas, agradeceria su ayuda
Faco







Revisado por AVG

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.693 / Virus Database: 454 - Release Date: 31/05/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida