Visual Basic - Error al ejecutar función de SQLServer

Life is soft - evento anual de software empresarial
 
Vista:

Error al ejecutar función de SQLServer

Publicado por Matías Freire (421 intervenciones) el 02/08/2006 03:12:13
Hola Gente....

Les escribo porque estoy teniendo un problema que me está comiendo la cabeza. Tengo una función en una base SQLServer, que devuelve un conjunto de datos. cuando quiero crear un recordset de ADO desde VB con esa función, se queda un largo rato, y me termina dando un error en tiempo de ejecución (-2147217871 "Terminó el tiempo de espera"). He probado con hasta 160 seg. en los timeout, pero nada funciona.

Les aclaro que puedo conectarme a la base perfectamente, y que la función también funciona, ya que la pruebo desde el QueryAnalyzer y anda OK.

acá les mando el código con el que estoy probando:

Private Sub Command7_Click()
Dim cn As New ADODB.Connection
Dim sql As String
Dim rs As New ADODB.Recordset

cn.ConnectionTimeout = 160
cn.CommandTimeout = 160
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=5s2r_cl1r3n;Persist Security Info=True;User ID=user_inmuebles;Initial Catalog=Inmuebles;Data Source=AGSMS-TPDB03"
cn.Open
sql = "SELECT * FROM dbo.F_Totales_ClarinGlobal('20060801','20060801')"


rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenStatic, adLockReadOnly

MsgBox "fin"

End Sub

por favor, si pueden darme una mano sobre qué estoy haciendo mal, desde ya se los voy a agradecer.

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al ejecutar función de SQLServer

Publicado por daniel (145 intervenciones) el 02/08/2006 21:41:58
proba con dejar el cursor del lado del servidor, en el caso que sean muchos registros que trae eso te puede tirar abaja la performance de la red y por eso vence el temporizador, el otro es que limites la cantidad de registros que devuelve en la propiedad maxrecords del recordset y vas manejando la cantidad de registros que devuelve tu consulta.
ojala sea de ayuda un abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al ejecutar función de SQLServer

Publicado por Matías Freire (421 intervenciones) el 10/08/2006 02:04:46
Mil gracias che.. pero ya lo solucioné...

El tema era que la consulta tardaba aproximadamente 3min. 45 seg. en devolver los datos. Jamás me imaginé que podía tardar tanto... yo había puesto el time out en un máximo de 2 min. y medio... y ya me parecía una exageración. Pero parece que no era tan exagerado.

Muchas gracias de nuevo por darme una mano. Saludos! y para lo que gustes, a tu disposicion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar