G
Gabriel Mejía
Services or applications using ActiveX Data Objects (ADO) 2.0 or greater may
intermittently return empty recordsets on queries that should be returning
valid results. At the time the problem occurs, the same queries successfully
return the expected data when run from non-ADO sources, such as from ISQL in
Microsoft SQL Server. This problem predominantly occurs on multi-processor
computers but has also been known to occur on single-processor computers.
As a side effect, the following error may also occur if the application
tries to use the empty recordset:
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.
Microsoft give a solution at the article Article ID : 230101
but I did it all (I have mdac 2.8 installed and the problem still ocurrs).
I have to tell you that this problem doesnt occurs all the time. When my asp
aplication crashes all the recorset return the message :
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.
this occurs for some minutes and then start woking again. I have to tell you
that the database is complitly functional when this occurs, and if I do the
same sql querys using query analizer, the sql server return valid results.
The way I can get it work again manualy is by pressing the button "unload"
at the IIS in the "home directory" tab at the apllication settings frame.
this makes the asp work again.
Note: (the iis is in one server and the sql is in other server)
this is the way I connect to the database:
set Recordset6 = Server.CreateObject("ADODB.Recordset")
Recordset6.ActiveConnection = strConect
sql ="SELECT sinValorDominical FROM dbo.tblMarcastarifas with(NOLOCK)
WHERE idtipomarca=" & marcas & " and
datIniciaVigencia<'"+cstr(month(date))+"/"+cstr(day(date))+"/"+cstr(year(dat
e))+"' And
datFinVigencia>'"+cstr(month(date))+"/"+cstr(day(date))+"/"+cstr(year(date))
+"'"
Recordset6.Source=sql
Recordset6.CursorType = 0
Recordset6.CursorLocation = 2
Recordset6.LockType = 1
Recordset6.Open
Recordset6_numRows = 0
Recordset6.close
set Recordset6=nothing
any suggestions
intermittently return empty recordsets on queries that should be returning
valid results. At the time the problem occurs, the same queries successfully
return the expected data when run from non-ADO sources, such as from ISQL in
Microsoft SQL Server. This problem predominantly occurs on multi-processor
computers but has also been known to occur on single-processor computers.
As a side effect, the following error may also occur if the application
tries to use the empty recordset:
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.
Microsoft give a solution at the article Article ID : 230101
but I did it all (I have mdac 2.8 installed and the problem still ocurrs).
I have to tell you that this problem doesnt occurs all the time. When my asp
aplication crashes all the recorset return the message :
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.
this occurs for some minutes and then start woking again. I have to tell you
that the database is complitly functional when this occurs, and if I do the
same sql querys using query analizer, the sql server return valid results.
The way I can get it work again manualy is by pressing the button "unload"
at the IIS in the "home directory" tab at the apllication settings frame.
this makes the asp work again.
Note: (the iis is in one server and the sql is in other server)
this is the way I connect to the database:
set Recordset6 = Server.CreateObject("ADODB.Recordset")
Recordset6.ActiveConnection = strConect
sql ="SELECT sinValorDominical FROM dbo.tblMarcastarifas with(NOLOCK)
WHERE idtipomarca=" & marcas & " and
datIniciaVigencia<'"+cstr(month(date))+"/"+cstr(day(date))+"/"+cstr(year(dat
e))+"' And
datFinVigencia>'"+cstr(month(date))+"/"+cstr(day(date))+"/"+cstr(year(date))
+"'"
Recordset6.Source=sql
Recordset6.CursorType = 0
Recordset6.CursorLocation = 2
Recordset6.LockType = 1
Recordset6.Open
Recordset6_numRows = 0
Recordset6.close
set Recordset6=nothing
any suggestions