gpt4 book ai didi

Python SQLite : database is locked

转载 作者:IT老高 更新时间:2023-10-28 20:38:26 26 4
gpt4 key购买 nike

我正在尝试这段代码:

import sqlite

connection = sqlite.connect('cache.db')
cur = connection.cursor()
cur.execute('''create table item
(id integer primary key, itemno text unique,
scancode text, descr text, price real)''')

connection.commit()
cur.close()

我发现了这个异常:

Traceback (most recent call last):
File "cache_storage.py", line 7, in <module>
scancode text, descr text, price real)''')
File "/usr/lib/python2.6/dist-packages/sqlite/main.py", line 237, in execute
self.con._begin()
File "/usr/lib/python2.6/dist-packages/sqlite/main.py", line 503, in _begin
self.db.execute("BEGIN")
_sqlite.OperationalError: database is locked

cache.db 的权限没问题。有什么想法吗?

最佳答案

我假设您实际上正在使用 sqlite3,即使您的代码另有说明。以下是一些需要检查的事项:

  1. 文件上没有挂起的进程(unix: $ fuser cache.db 应该什么都不说)
  2. cache.db所在目录下没有cache.db-journal文件;这将表明一个没有正确清理的崩溃 session 。
  3. 要求数据库外壳进行 self 检查:$ sqlite3 cache.db "pragma integrity_check;"
  4. 备份数据库$ sqlite3 cache.db ".backup cache.db.bak"
  5. 删除 cache.db,因为其中可能没有任何内容(如果您只是在学习)并再次尝试您的代码
  6. 查看备份是否有效$ sqlite3 cache.db.bak ".schema"

如果失败,请阅读 Things That Can Go WrongHow to Corrupt Your Database Files

关于Python SQLite : database is locked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com