portdata
asked on
"Runtime error 3251" "Current Recordset does not support updating. This may be a limitation of the provider or of the selected locktype."
My client called today to report the following run time error:
"Runtime error 3251" "Current Recordset does not support updating. This may be a limitation of the provider or of the selected locktype."
This error occurs in several different VB6 programs that have been working perfectly for several months. The difference is that the client changed the SQL Server 2000 recovery model for the database from "Simple" to "Full" recovery so that transactions will be logged.
Nothing was changed in the VB code.
The programs all open SQL Server 2000 ADODB recordsets with adOpenDynamic and adLockOptimistic, so updating is supported.
Anyone have any idea why changing the SQL Server receovery model from "simple" to "full" might have triggered these errors?
"Runtime error 3251" "Current Recordset does not support updating. This may be a limitation of the provider or of the selected locktype."
This error occurs in several different VB6 programs that have been working perfectly for several months. The difference is that the client changed the SQL Server 2000 recovery model for the database from "Simple" to "Full" recovery so that transactions will be logged.
Nothing was changed in the VB code.
The programs all open SQL Server 2000 ADODB recordsets with adOpenDynamic and adLockOptimistic, so updating is supported.
Anyone have any idea why changing the SQL Server receovery model from "simple" to "full" might have triggered these errors?
if this doesn't seem to work, can u post the connection string u r trying
ASKER
Shiju:
Thanks for the suggestion.
However, I am not interested in changing the code - it has been working perfectly for a year or more.
The problem is that it stopped working when the SQL Server 2000 database recovery model was changed from "simple" (no transaction logging) to "full: (full transaction logging) on the database.
What I need to know is "why" did this error start to appear after the change was made.
Art Misita
Thanks for the suggestion.
However, I am not interested in changing the code - it has been working perfectly for a year or more.
The problem is that it stopped working when the SQL Server 2000 database recovery model was changed from "simple" (no transaction logging) to "full: (full transaction logging) on the database.
What I need to know is "why" did this error start to appear after the change was made.
Art Misita
I have never seen that changing the recovery model had effects on application! There is surely something else that changed! Is the database is marked as read-only?
ASKER
I solved the problem myself.
It turns out that when the client imported the table that is triggering the error, they did not redefine the two indexes that wewre originally defined on that table.
I defined the indexes and the problem disappeared.
This is actually kind of strange since indexes are "optional" in SQL Server.
I am requesting that this question be withdrawn as "self solved'.
It turns out that when the client imported the table that is triggering the error, they did not redefine the two indexes that wewre originally defined on that table.
I defined the indexes and the problem disappeared.
This is actually kind of strange since indexes are "optional" in SQL Server.
I am requesting that this question be withdrawn as "self solved'.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
what is the cursorlocation and type u r using ?
'=========================
Dim objRec As New ADODB.Recordset
objRec.CursorLocation = adUseClient
objRec.CursorType = adOpenDynamic
objRec.LockType = adLockPessimistic
hope this will help u
'========================
;-)
Shiju