访问SQLite文件的多个应用程序副本?

时间:2010-12-15 20:33:47

标签: c++ windows sqlite

我们的应用程序使用SQLite数据库文件来保存其中的一些数据。该应用程序在启动时打开文件中的数据库,读取并写入该文件,并在退出时关闭它。

不幸的是,我们不能禁止某人同时运行我们应用的两个副本。如果发生这种情况,可能会有两个应用程序副本试图同时读取和/或写入文件。我想这对数据库文件来说不会很好。

我们可以做些什么来避免造成用户数据丢失?如果同时启动应用程序的第二个副本,我们是否应该简单地避免打开数据库?或者我们可以做些聪明的事情吗?

感谢。

2 个答案:

答案 0 :(得分:2)

任何理智的数据库提供程序(包括sqlite)都不会损坏您的数据库,如果有2个人同时访问它。如果没有办法并行运行请求,大多数会将请求排队。

现在你的应用程序对数据做了什么,这是你的应用程序的问题,但不要担心数据库本身。

答案 1 :(得分:2)

有关sqlite并发的一些信息:http://www.sqlite.org/lockingv3.html