Sqlite3:显示错误数据库已锁定

时间:2012-09-10 10:51:16

标签: php sqlite pdo

我的sqlite3数据库显示此错误:

Array (
  [0] => HY000
  [1] => 5
  [2] => "database is locked"
)

我已经使用php PDO连接sqllite3数据库。我已成功从数据库读取但无法更新/插入数据库。它始终显示在错误之上。

我已经尝试了777对数据库的权限,并且还使用它进行了测试,但得到了相同的结果。

我使用$db->beginTransaction();$dbhandle->commit();

解决了上述问题

现在问题是我在更新查询之前使用了begintransaction并在执行query之后提交。每次返回true但不影响数据库。关于它的任何想法?

注意:查询需要很长时间才能显示错误。

2 个答案:

答案 0 :(得分:1)

我已经解决了我的问题。

sqlite3数据库中的问题。我在Ubuntu 10.04上使用了sqlite3 3.6.22,这个sqlite3不支持多线程,所以我在sqlite3 3.7.7版本上测试过并使用了从http://www.sqlite.org/wal.html读取的Pragma命令。

答案 1 :(得分:0)

确保数据库文件所在的目录具有db用户的写入权限。在数据库中写入时会创建一个临时文件。

希望它有所帮助。