Note that there are some explanatory texts on larger screens.

plurals
  1. POMS Access (MDB) concurrency
    text
    copied!<p>For a small project I need to utilize a simple database with very light requirements: few tables, no more than few thousands of records in total, 2 or 3 users. I am working in .NET environment.</p> <p>As a database server (even those Express editions) seems like a huge overkill in this case, a very simple MDB database could do for most of the requirements. I am however, concerned about concurrency. My idea is to place the .mdb file on a network share and let users access this file from their .NET-based clients. The db is mostly aimed at read-only operations but users will occasionally need to update/delete records as well. If this will not be possible at the time (due to the db being locked or whatever), I can hold the updates on the client and process them at a later time.</p> <p>The question itself goes along these points:</p> <ul> <li>How are concurrent reads handled in MDB?</li> <li>How are concurrent updates/deletes handled in MDB?</li> <li>Is there a concept of locks and how can I leverage it in a .NET app?</li> <li>Is placing the MDB file on a network share good or horrible idea?</li> </ul> <p>As I am working in .NET, I would also love to know how can I detect any concurrency problems and take appropriate action. I.e., which exception should I catch and what action would you recommend to take?</p> <p><strong>EDIT</strong>: It may be my bad description of the problem, but most answers seem to advise going for a full blown DB server. I do understand the differences and benefits of having a server installation and have in fact implemented a fair number of projects on MSSQL and Oracle. In this question, however, I am only concerned with Access and its concurrency issues, so please do not suggest a db server.</p> <p>Thanks for your help.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload