How to make database accessible for multiple users?

4

1

I have database for my desktop application, a billing application. I want that database shared so it can be opened by multiple users, but I currently get an error message like "database has been opened exclusively by another user or you not have permission".

What should I do to resolve this?

Yusan Susandi

Posted 2011-06-27T02:48:20.180

Reputation:

3Did you search the net for solutions? There are many results in Google for the error message you mention. Have you discovered if it is a permission error or an exclusive lock error, or both? – Tony – 2011-06-27T10:01:32.370

We usually solve this by moving away from Jet databases. – Ignacio Vazquez-Abrams – 2011-06-27T15:01:02.460

What kind of database is it? MsAccess? – slotishtype – 2011-06-27T15:01:10.010

There is nothing inherent in Jet/ACE that causes this error. It's a configuration problem, nothing more, nothing less. – David W. Fenton – 2011-06-28T21:11:04.150

@Tony... there isn't an easy solution to this. – James Mertz – 2011-07-18T20:50:07.467

Answers

2

If this database is an Access Database, then try "splitting" it in 2. Have a FRONT END (FE) which contains all the Forms, coding & logic. Then have a BACK END (BE) which contains nothing but the Tables & Data, then link the Tables at run-time. This will definately stop the error that you are getting.

Senoc26

Posted 2011-06-27T02:48:20.180

Reputation: 21

This will ONLY work if the file is accessible AT ALL TIMES via a network drive or share point server connection. – James Mertz – 2011-07-18T20:51:04.533

It should also be mentioned that a COPY of each 'front end' should be given to each individual. – James Mertz – 2011-07-18T20:54:09.727

2

Tony Toews

Posted 2011-06-27T02:48:20.180

Reputation: 424

1

To make your database accessible to multiple users you need to do three things in all:

  • Convert your data into an earlier version format, then you can access the user level and create multiple accounts.
  • Split your data into front end and back end, then use linking tables
  • Export your data into MySQL server
  • Build a small VB program and change your database's VBA settings

Farhan

Posted 2011-06-27T02:48:20.180

Reputation: 11

0

Taking something similar what Senoc26 has, You can push all of your data to MySQL or MS SQL for little to no cost. These database servers are meant to handle multiple connections at the same time to help prevent corruption. You would then use an ODBC connector and link the tables from your MS Access front end to the databases. Each person would have a copy of the MS Access database on their computer and would all connect to one centralized database.

kobaltz

Posted 2011-06-27T02:48:20.180

Reputation: 14 361

Why go to the extra effort when splitting the database will be sufficient? Also this may not be possible if SQL Server or MYySQL aren't available on the network. – Tony Toews – 2011-07-18T20:12:24.990

By migrating the data to a MySQL server, you will be able to not only back up your database on a schedule, but you're also putting it on a platform that is mean to handle several users at the same time. Do it right or don't do it at all imo. – kobaltz – 2011-07-19T00:40:38.177

Putting the database on MySQL is no guarantee backup will be done. You're assuming there is an IT department with folks involved who monitor such. Access handles multiple users just fine. I've had systems running just fine with 25 users. – Tony Toews – 2011-07-19T01:15:38.127

Your comment "Do it right or don't do it at all" is inappropriate. – Tony Toews – 2011-07-19T03:46:33.353