Python SQLite:数据库被锁定

2024-02-05

我正在尝试这段代码:

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文件;这表明会话已崩溃且尚未正确清理。
  3. 要求数据库 shell 检查自身:$ sqlite3 cache.db "pragma integrity_check;"
  4. 备份数据库$ sqlite3 cache.db ".backup cache.db.bak"
  5. 删除cache.db,因为你可能里面什么都没有(如果你刚刚学习),然后重试你的代码
  6. 查看备份是否有效$ sqlite3 cache.db.bak ".schema"

如果失败,请阅读可能出错的事情 http://www.sqlite.org/atomiccommit.html#sect_9_0 and 如何损坏数据库文件 http://www.sqlite.org/lockingv3.html#how_to_corrupt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python SQLite:数据库被锁定 的相关文章

随机推荐

  • 未为目标“###”提供服务证书 在 ClientCredentials 中指定服务证书

    我已经实现了一个测试客户端 服务器 它实现了UserName通过 WCF 进行消息身份验证 它almost一切顺利 但我在最后一个障碍处摔倒了 我得到一个InvalidOperationException上面写着 未为目标 http loc
  • 使用数组和List<>哪个更好? [复制]

    这个问题在这里已经有答案了 我想知道哪种类型的性能更好以及您认为应该使用哪种类型 例如 我有一个字符串列表 不知道我需要多少个项目 因此使用 Add String 函数非常方便 我可以随时轻松地将新字符串添加到列表中 使用每种方法的优点 缺
  • WiX 安装程序 msi 未安装使用 Visual Studio 2017 创建的 Winform 应用程序

    为了进行简单的测试 我创建了一个Wix简单 Winform 应用程序的安装程序应用程序如下 但是当我运行msi使用安装程序创建 它运行仅一秒钟 然后退出而不安装 Winform 应用程序 Question 这可能是什么问题 我的身上似乎缺少
  • 未指定的隐式对象创建

    Since P0593 为低级对象操作隐式创建对象 https github com cplusplus papers issues 106已被接受 现在可以创建对象隐含地在 C 20 中 具体来说 该提案引入的措辞允许某些操作 例如std
  • SchemaSpy PostgreSQL - 警告 - 连接失败

    我尝试使用 SchemaSpy 连接到我的 PostgresSQL 服务器 我安装了 Java 使用oracle java8 installer from ppa webupd8team java 我的 PostgreSQL 服务器在 Do
  • 捕获 WebService 抛出的 SoapException

    我写了以下服务 namespace WebService1 WebService Namespace http tempuri org WebServiceBinding ConformsTo WsiProfiles BasicProfil
  • Umbraco - 通过 URL 选择节点

    当我尝试通过 URL 访问节点时 我遇到了 Umbraco 问题 我一直在尝试形成一个 xpath 查询来选择 url 但我不知道该怎么做 而且他们的 API 中的所有内容都是 动态的 所以我发现不可能更深入地挖掘其他内容方法 Umbrac
  • 将大视频从 iPhone 上传到网络服务器

    我正在尝试将一个大视频从 iphone 上传到具有 php 脚本的网络服务器 我在用着NSInputStream获取文件视频块 我在每次遍历时创建一个请求 POST void stream NSStream stream handleEve
  • Git Pull 与 Git Rebase

    我是 Git 新手 正在尝试了解两者之间的区别git pull vs git rebase 有人可以提供一个例子 何时使用哪个选项 因为我觉得两者都有相同的目的 git pull and git rebase不可互换 但它们是紧密相连的 g
  • 以编程方式将优惠券应用于 WooCommerce3 中的订单

    我正在开发一个插件 可以直接创建订单 无购物车 并应用优惠券 在 woo API 3 0 版本中 该函数add coupon 已被弃用 取而代之的是WC Order Item Coupon您添加到订单中的对象 创建优惠券 coupon ne
  • Grafana“Node Exporter Full”仪表板在导入后不显示任何数据

    我正在尝试从这里导入节点导出器完整仪表板 https grafana com grafana dashboards 1860 https grafana com grafana dashboards 1860 但是当我导入仪表板时 它什么也
  • 如何以编程方式获取 mac os x macbook 的电池寿命?

    我想做的是记录电池百分比 我知道linux中的等效项是sysctl hw acpi battery life 然而 当我在 mac os x 中查看 sysctl 的 man 时 我没有找到等效的代码来找到它 有人可以指出如何使用 Obje
  • 从 Python 中的类调用函数时参数数量错误

    我正在尝试用 python 编写遗传算法的实现 它说 当只允许一个参数时 我会用两个参数来调用它 但我确信我不允许 这是相关代码 class GA def init self best pops 100 mchance 07 ps 1 im
  • Xamarin 加载项无法正常工作,无法查看加载项列表

    我刚刚开始在 Mac 上的 Xamarin Studio 中使用 CocosSharp 我正在尝试遵循此演练 https developer xamarin com guides cross platform game developmen
  • 通过 ldapmodify 修改 Active Directory 密码

    我正在研究各种 LDAP 操作的脚本编写 然而 我在 Active Directory 用户创建方面遇到了一些障碍 当我通过以下 LDIF 加载时 它失败ldapmodify命令 dn CN Frank CN Users DC domain
  • 更新到 Ubuntu 22.04 后 rbenv 安装失败 (Jammy Jellyfish)

    升级到 Ubuntu 22 04 Jammy Jellyfish 后 我注意到 Ruby 2 7 2 存在问题 因此我尝试安装 2 7 2 当安装失败时 又安装了 2 7 6 它也失败并出现相同的错误 rbenv install 2 7 6
  • Yeoman 和车把模板

    有人使用 yeoman 和 ember 吗 如果是这样 我如何让 yeoman 编译车把模板 如果可能的话我想使用 rake 管道 有没有人想出一个解决方案来编译 yeoman 的车把模板 Dan Gebhardt 一直致力于与 yeoma
  • 在 WooCommerce 中使用复选框以允许多种选择

    我已经使用 WooCommerce 一段时间了 但这个问题给我带来了问题 我正在为其创建网站的客户提供培训课程和演示文稿 并且该特定产品 或演示文稿 允许将多个不同的选项添加到购物车 每个选项都有自己的价格 因此 基本价格为零 然后 用户可
  • 如何仅使用 boto 2.25.0 通过全局二级索引查询 DynamoDB2 表?

    这是我从常规 DynamoDB 表切换到具有全局二级索引的 DynamoDB2 表的延续 所以我创建了如图所示的表格here https stackoverflow com questions 21736813 getting attrib
  • Python SQLite:数据库被锁定

    我正在尝试这段代码 import sqlite connection sqlite connect cache db cur connection cursor cur execute create table item id intege