Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Multi-User Problem

Status
Not open for further replies.

wtmckown

Programmer
Mar 19, 2003
121
US
I'm getting error 3734 (The database has been placed in a state by user 'Admin' on 'SOLS-DC1' that prevents it from being opened or locked.) when two or more users attempt to simultaneously insert records into the same table in the backend database. Sometimes it's error -2147467259 with the same err description. This is a split design with a central mdb that accessed from distributed mde applications. Each user has their own copy of the mde. The Access version is 2002. I can reproduce this error 100% in a test environment. All users have been granted "full control" security permissions in the backend database folder. The mde files have links to the tables in the backend that they use. I have tried using ADO and DAO for the record inserts and get the same result. The code that is causing the problem is a simple loop through a recordset that builds an SQL string for the record insert and executes it each loop through. I'm thinking that this is some sort of .ldb file creation/closure that can't keep up with the access attempts. Does anyoue out there have experience with this problem?
 
wtm,

I've never experienced your problem (not that I can remember anyway), but that's probably because I never open / close a database multiple times, rapidly.
I never do that for performance reasons more than anything.
Even if the logic 'forced' me to do it that way - I'd find a way to open the db once, read / write to it multiple times then close it - once (it is common / advised practice)

Is there a reason that you must open the db WITHIN the write loop?
Can it not be opened / closed OUTSIDE the loop?
If not, then you'd have to trap the error, then wait until it cleared before the next write.

If you can't think of a solution, paste your loop code in here.

ATB,

Darrylle




Never argue with an idiot, he'll bring you down to his level - then beat you with experience.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top