检查sqlite数据库是否已打开或在某处使用

时间:2016-07-08 10:05:51

标签: c++ sqlite

我有一个C ++ / Sqlite实用程序来比较2个数据库并合并第1个而不是第2个的表。现在我希望如果要添加新表的数据库打开或在其他某个进程中使用,那么合并不应该发生并且应该显示正确的错误。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

如果仅通过SQLite库访问数据库文件,则可以使用BEGIN EXCLUSIVE检查其他人是否有活动事务。

但是,无法检测到打开但非活动的连接。您必须使用操作系统的某种机制来检查打开的文件。