Firefox锁定places.sqlite

时间:2011-01-16 16:26:47

标签: firefox sqlite

平台:Firefox 3.6.13,Python 2.7无堆栈和Windows 7(尚未在Ubuntu上测试,我会...)

我尝试使用apsw库:

conn = apsw.Connection( dir + profile + '/places.sqlite', apsw.SQLITE_OPEN_READONLY )

我收到了错误:

  

文件“c:\ apsw \ src \ statementcache.c”,   第386行,在sqlite3_prepare中   apsw.BusyError:BusyError:数据库是   锁定

我看到“SQLite manager”也可以在Firefox运行时打开数据库。

我只想打开并阅读,我觉得无故障操作。我不能使用“SQLite manager”。我需要编写我的Python(或PHP或Perl)脚本。

1)Firefox在SQLite文件中使用哪种锁?为什么呢?

2)“SQLite manager”如何运作?


Q2)SQLite Manager在Firefox中运行,因此它可以访问数据库。

这不是我要找的:在Firefox运行时,外部应用程序读取位置。

2 个答案:

答案 0 :(得分:5)

我不确定Firefox使用的锁类型,但我建议这样做:

将Firefox数据库文件复制到其他临时位置并从那里读取(这也降低了意外损坏原始文件的风险)。

我在Firefox 3上没有遇到过这种方法的问题。*。

答案 1 :(得分:3)

Firefox使用SQLite获取数据库上的EXCLUSIVE锁,这就是您无法打开它的原因: http://www.sqlite.org/pragma.html#pragma_locking_mode