Re: Could not update; currently locked error

Hello S Haney,

Thank you for your message.
Here are the properties I get from the connection:

Current Catalog =
Active Sessions = 128
Asynchable Commit = False
Catalog Location = 1
Catalog Term = Database
Column Definition = 1
NULL Concatenation Behavior = 2
Data Source Name = D:\temp\temp.mdb
Read-Only Data Source = False
DBMS Name = MS Jet
DBMS Version = 04.00.0000
GROUP BY Support = 4
Heterogeneous Table Support = 2
Identifier Case Sensitivity = 8
Maximum Index Size = 255
Maximum Row Size = 4049
Maximum Row Size Includes BLOB = False
Maximum Tables in SELECT = 0
Multiple Storage Objects = False
Multi-Table Update = True
NULL Collation Order = 4
OLE Object Support = 1
ORDER BY Columns in Select List = False
Prepare Abort Behavior = 1
Prepare Commit Behavior = 2
Procedure Term = STORED QUERY
Provider Name = MSJETOLEDB40.DLL
OLE DB Version = 02.10
Provider Version = 04.00.8227
Schema Term = Schema
Schema Usage = 0
SQL Support = 512
Structured Storage = 9
Subquery Support = 63
Isolation Levels = 4096
Isolation Retention = 9
Table Term = Table
User Name = Admin
Pass By Ref Accessors = False
Transaction DDL = 16
Asynchable Abort = False
Data Source Object Threading Model = 1
Output Parameter Availability = 1
Persistent ID Type = 4
Multiple Parameter Sets = True
Rowset Conversions on Command = True
Multiple Results = 0
Provider Friendly Name = Microsoft OLE DB Provider for Jet
Alter Column Support = 36
Open Rowset Support = 2
Cache Authentication = True
Encrypt Password = False
Mask Password = False
Password =
User ID = Admin
Data Source = D:\temp\temp.mdb
Window Handle = 0
Mode = 16
Extended Properties =
Locale Identifier = 1033
Jet OLEDB:System database =
Jet OLEDB:Registry Path =
Jet OLEDB:Database Password =
Jet OLEDB:Engine Type = 5
Jet OLEDB:Database Locking Mode = 1
Jet OLEDB:Global Partial Bulk Ops = 2
Jet OLEDB:Global Bulk Transactions = 1
Jet OLEDB:New Database Password =
Jet OLEDB:Create System Database = False
Jet OLEDB:Encrypt Database = False
Jet OLEDB:Don't Copy Locale on Compact = False
Jet OLEDB:Compact Without Replica Repair = False
Jet OLEDB:SFP = False
Jet OLEDB:Compact Reclaimed Space Amount = 434176
Autocommit Isolation Levels = 4096
Jet OLEDB:ODBC Command Time Out = 0
Jet OLEDB:Max Locks Per File = 0
Jet OLEDB:Implicit Commit Sync = False
Jet OLEDB:Flush Transaction Timeout = 0
Jet OLEDB:Lock Delay = 0
Jet OLEDB:Max Buffer Size = 0
Jet OLEDB:User Commit Sync = True
Jet OLEDB:Lock Retry = 0
Jet OLEDB:Exclusive Async Delay = 0
Jet OLEDB:Shared Async Delay = 0
Jet OLEDB:Page Timeout = 0
Jet OLEDB:Recycle Long-Valued Pages = False
Jet OLEDB:Reset ISAM Stats = True
Jet OLEDB:Connection Control = 2
Jet OLEDB:ODBC Parsing = False
Jet OLEDB:Page Locks to Table Lock = 0
Jet OLEDB:Sandbox Mode = False
Jet OLEDB:Transaction Commit Mode = 0

As far as I understand Jet OLEDB:Database Locking Mode is the property.
From MSDN:
Typical R/W: R/W

Description: Jet OLEDB:Database Locking Mode

Scheme to use when locking the database.


DBPROPVAL_DL_OLDMODE — Old mode used in previous releases of Jet's storage
DBPROPVAL_DL_ALCATRAZ — Alcatraz mode. Enables locking mode that allows for
row-level locking. This does not preclude page locking.
A database can be open in only one mode at a time. The first user to open
the database determines the locking mode used while the database is open.

I suppose if the values start with 0, the 2nd one has the value 1. Am I right?

Thanks in advance,

"S Haney" wrote:

Just out of curiosity...did you double check the level of locking that you
set for your database? I only ask because it seems that if one thread will
execute (update or insert a record) properly on the same table the other
thread will not (even though both are updating / inserting a different
record) that the problem is that you set the table to lock when a record is
getting updated instead of using record-level locking.

Just a thought :)

Relevant Pages

  • Re: Database Connectivity
    ... Never was Jet mentioned anywhere at anytime. ... >> Microsoft Access Database Solutions, with not a single mention of Jet. ... front end, and the underlying database engine, JET. ... like SQL Server, Sybase, MySQL, etc. ...
  • Re: Do not want data to auto sort
    ... you are deluding yourself if you think viewing data in the Access ... > in for a shock here but Access is not a database. ... The 'database' in question in usually Jet (it could be ... > then open a recordset write a the first portion of the data to a grid ...
  • Re: Any reason why accessing Access should slowdown?
    ... On the MSACCESS / JET OLEDB front, you responded to a query I had about the ... Declared connection to Access database using string based on Jet OLDB ... Set up recordset filter in response to earlier input / selection ... ¤ I am writing a VB6 App using an Access database backend ...
  • Re: Explorer CPU Usage while accessing database
    ... Since Jet is a file-based database, the answer is: ... I suspect you are seeing the Jet delayed-write system in action. ... creates an idle period, during which Jet (and any other processes that are ... opening your connection before each insert and closing it immediately after ...
  • Re: Do not want data to auto sort
    ... > semantics are interesting, but don't really add anything to the topic. ... in for a shock here but Access is not a database. ... 'Access database' you can usually take it as read that they mean 'Jet ... then open a recordset write a the first portion of the data to a grid ...