Link to home
Start Free TrialLog in
Avatar of portdata
portdataFlag for United States of America

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?
Avatar of Shiju S
Shiju S
Flag of United States of America image

hi try these settings
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
if this doesn't seem to work, can u post the connection string u r trying
Avatar of portdata

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
Avatar of Éric Moreau
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?
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'.
ASKER CERTIFIED SOLUTION
Avatar of PashaMod
PashaMod

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial