Error 2147467259

ismael
31 de Octubre del 2003
Mi problema es el siguiente, tengo una pgina asp dividida en 4 frames. Cuando se carga el frame principal, los 4 frames se cargan y cada uno de ellos hacen consultas sobre tablas de una base de datos SQL Server 2000, el problema es que de vez en cuando, no siempre, alguna de las pginas de los frames me da el error 2147467259, sin especificar nada ms. Las consultas son SELECT y no demasiados pesados. Sabe alguien por qu puede producirse ese error, gracias

ilco26
31 de Octubre del 2003
chungo, lo he mirao en un librito que tengo y la descripcion para ese error es: "Error no especifico". La unica pista que te puedo dar es que ese error esta especificado dentro de errores extendidos de ADO.

Juan Pablo Villanueva V
31 de Octubre del 2003
Que tal!
Me encontre con ese error recientemente y lo investig, encontre dos versiones, una asociada al timeout de la conexin y otra relacionada con el nmero de transacciones que se envian a SQL al mismo tiempo (esto lo revis en el sitio de microsoft).

En mi caso la segunda no tiene por si sola sentido ya que proceso en batch miles de transacciones diariamente y este error aparece muy, pero muy espordicamente. Repecto al tiempo de espera, en el momento que efectuo el proceso el servidor est dedicado a l, asi que a menos que sea el mismo proceso el que genera problemas en el performance no tiene mucho sentido.

Lo que si tiene sentido es si en algn momento por el mismo envio de transacciones el performance del servidor se reduce (se genera lo que algunos ven como problema de tiemout) y se "encolan" varias transacciones al momento qne que el servidor intenta efectuarlas, se genera el error por que se efectan varias transacciones al mismo tiempo.

En mi caso creo haberlo resuelto con algunas lineas en el control de errores:

ElseIf Err.Number = -2147467259 Then
'seteo una bandera para saber que ocurri
gbolErr2147467259 = True
'rescato el registro en que se di
gintErr2147467259 = intVcont
'ignoro el error
Err.Clear
Resume Next

J Pablo Villanueva
31 de Octubre del 2003
perdn olvide mencionar que adems incrementeo el tiempo de espera de la siguiente forma:

gconDbSAL.CommandTimeout = gconDbSAL.CommandTimeout * 2