锁定和解锁数据库访问 - 数据库已锁定

时间:2016-05-24 12:41:39

标签: python sqlite

我有三个程序正在运行,其中一个程序在我的数据库中不停地迭代(在循环中一遍又一遍),只需使用SELECT语句从中读取。

其他程序有一行,他们在表中插入一行,并在一行中删除它。问题是,我经常收到错误sqlite3.OperationalError: database is locked

我试图找到一个解决方案,但我不明白问题的确切来源(同时读取和写入是什么导致此错误发生?或者写入和删除?可能两者都有不应该工作。

无论哪种方式,我都在寻找解决方案。如果它是一个单独的程序,我可以将数据库I / O与互斥锁和其他多线程工具相匹配,但事实并非如此。如何在不使用太多CPU的情况下等待数据库解锁以进行读/写/删除?

1 个答案:

答案 0 :(得分:0)

你需要切换数据库..

我会使用以下内容: postgresql作为我的数据库 psycopg2作为驱动程序

语法与SQLite非常相似,迁移对你来说不应该太难