Colen
Colen

Reputation: 13908

Multiple copies of application accessing SQLite file?

Our application uses an SQLite database file to hold some data in it. The app opens the database in the file on startup, reads and writes to it, and closes it on exit.

Unfortunately, we can't forbid someone from running two copies of our app at once. If that happens, presumably there will be two copies of the app trying to read from and/or write to the file at the same time. I imagine this would not end well for the database file.

What can we do to avoid causing data loss for the user? Should we simply avoid opening the database if a second copy of the app is launched concurrently? Or is there something cleverer we can do?

Thanks.

Upvotes: 0

Views: 610

Answers (2)

Steven K.
Steven K.

Reputation: 2106

Some info about sqlite concurrency: http://www.sqlite.org/lockingv3.html

Upvotes: 2

Blindy
Blindy

Reputation: 67380

Any sane database provider, including sqlite, will not corrupt your database if 2 people access it at the same time. Most will queue the requests if there's no way to run them in parallel.

Now what your app does with the data, that is your app's problem, but don't worry about the database itself.

Upvotes: 2

Related Questions