Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何知道sqlite DB的锁状态?_Sqlite_Locking - Fatal编程技术网

我们如何知道sqlite DB的锁状态?

我们如何知道sqlite DB的锁状态?,sqlite,locking,Sqlite,Locking,1) 是否有pragma或任何方法可以知道sqlite db的当前状态? 2) 另外,是否有办法知道是否有其他进程正在使用DB?无杂注,但状态为: 当SQLite尝试访问被另一个进程锁定的文件时,默认行为是返回SQLite\u BUSY 但是,这只意味着数据库被锁定用于写入,而不是读取。关于#1:否,因为您得到的答案将立即过时(也就是说,如果您得到的答案是“否,数据库未锁定”,其他人可能会过来并立即锁定它,给您留下不好的信息) 正确的方法是简单地尝试您的操作(可以选择超时),看看它是否成功。哦,

1) 是否有pragma或任何方法可以知道sqlite db的当前状态?
2) 另外,是否有办法知道是否有其他进程正在使用DB?

无杂注,但状态为:

当SQLite尝试访问被另一个进程锁定的文件时,默认行为是返回SQLite\u BUSY

但是,这只意味着数据库被锁定用于写入,而不是读取。

关于#1:否,因为您得到的答案将立即过时(也就是说,如果您得到的答案是“否,数据库未锁定”,其他人可能会过来并立即锁定它,给您留下不好的信息)


正确的方法是简单地尝试您的操作(可以选择超时),看看它是否成功。

哦,是的,超时是正确的方法。我忘了那一点。