0

使用 SQLite 3.7 for python application 时,我注意到锁定(OperationalError)。我正在为 ORM 使用 SQLalchemy。此问题发生在 Windows 上。我在与应用程序相同的机器上使用数据库。

它似乎在 ubuntu 上运行良好。想知道可能是什么问题?某些旧版本的 sqlite 是否解决了这个问题?

一些想法:

- Windows NFS for SQLlite 存在锁定问题,但由于我使用的是本地文件系统,这种可能性被丢弃。

  • 机器上运行的防病毒软件是否会导致锁定,因为它会在更新时读取文件。数据库上的锁永远不会被释放(我等了 5 分钟,同时通过命令行访问数据库)。这让我想到是否某些挂起的进程正在保持锁定或进程被杀死。但似乎情况并非如此,因为访问数据库的唯一进程(python 瓶服务器)正在运行。它在单进程 Apache 下运行。
4

1 回答 1

1

SQLite 发生锁定的方式记录在http://www.sqlite.org/lockingv3.html - 阅读它。在 Windows 上,您可以使用 Sysinternal 的进程监视器来监视谁在访问文件,这将使罪魁祸首归零。

于 2012-01-25T01:14:43.530 回答