Tengo un problema recurrente desde hace varios meses, y es que
esporadicamente mi sitio web se cae mostrando 3 errores basicos en todos los
asps que esten usando los usuarios en ese momento. Los tres errores son:
ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted; the
operation requested by the application requires a
current record.
y
Description : [Microsoft][ODBC SQL Server Driver][SQL Server]The cursor was
not declared.
y
Description : ODBC driver does not support the requested properties
debo decir que la base de datos esta completamente funcional en el instante
en que el sitio web se cae. Tanto que los mismos
querys que ejecutan los asp corridos desde el query analyser de sql devuelve
datos validos. Soy completamente conciente que
una persona que lee el primer error pensaría que el problema es que estoy
haciendo una consulta erronea o a una tabla vacia,
pero les puedo asegurar que no es asi. La prueba de ello es que el sitio
levanta por si mismo sin que yo realice ninguna
operacion en aproximadamente 10 minutos en promedio. Ademas la mayoria de
las tablas consultadas son tablas que dificilmente
se borran (maestros). Ademas hay aplicaciones de escritorio que acceden a la
base de datos que constantemente trabajan sin
que se presente ningun error, nisiquiera cuando mi página web no esta
funcionando.
Mi problema parece ser descrito en la pagina de microsoft
http://support.microsoft.com/kb/230101/EN-US/ pero ya instale el
mdac2.8, además estoy trabajando sobre IIS 5. La base de datos esta montada
sobre sqlserver 2000, y el sitio web esta en un
servidor distinto a la base de datos. Este servidor de base de datos trabaja
con 2 procesadores. Tengo que decirles que soy
capaz de levantar el sitio web presionando el boton "Unload" en el IIS
dentro del tab de "virtual directory" en el frame
que dice "application settings" . Cuando hago esto automaticamente los asp
empiezan a trabajan nuevamente.
Para rematar debo decirles que soy capaz de replicar la caida de la página
ejecutando un proceso desde una aplicacion (visual
basic 5) de escritorio de la compañia. Esta aplicacion realiza un proceso
bastante pesado y transaccional que dura 20
segundos. Durante ese tiempo, el proceso bloquea la base de datos y tumba
la página y a pesar de que el proceso termina
exitosamente en la aplicacion, la página permanece caida hasta que yo la
levante presionando "unload" o hasta que pasen unos
minutos (Lo que ocurra primero)
La forma tipica como me conecto desde el codigo a la base de datos es:
'-objeto conexion
Set cn = CreateObject("adodb.connection")
cn.open = conectacadena
'--
sql="SELECT * FROM dbo.tblOficinas WHERE strNombre='" + nombreoficina + "'"
Set cmd=CreateObject("adodb.command")
cmd.CommandType=1
cmd.CommandText=sq
Set cmd.ActiveConnection = cn
set Recordset = Server.CreateObject("ADODB.Recordset")
Recordset=cmd.Execute()
'-
Alguna idea??????.
Raro. o no???
nota: Este sito web corre solamente dentro de la compañia y es de
Leer las respuestas