当前位置: 首页 > article >正文

sqlite3.OperationalError: database is locked python-BaseException错误解决

报错有2种:

  • sqlite3.OperationalError: attempt to write a readonly database
  • sqlite3.OperationalError: database is locked python-BaseException

原因及解决方案:

1、被占用

由于SQLite只支持单线程。SQLite数据库在同一时间只能由一个连接执行写操作。如果有其他进程或程序(如SQLite专家工具、其他Python脚本、数据库管理工具等)正在访问或修改数据库,就可能导致这个错误。

  • 检查并关闭所有可能访问数据库的其他程序‌:确保没有其他软件(如SQLite Expert、Navicat、DB Browser等)正在打开或操作同一个数据库文件。

    在出现这个问题时,检查一下是否使用DB Browser同时打开了SQLite。将其关闭,即可解决该问题。

  • 在代码中检查并关闭所有数据库连接‌:确保在程序执行完毕后,所有数据库连接都已被正确关闭。例如,在Python中,可以使用conn.close()来关闭连接。

2)无权限

一般是运行目录归属不是执行程序用户的,只需要把根目录到db.sqlite3文件的权限改成777即可;

              chmod 777 -R /path/to/db.sqlite3

注意这里你查 db.sqlite3 是777 没用,需要上级目录的权限也是。

 


http://www.kler.cn/a/507669.html

相关文章:

  • MyBatis(四)参数与配置详解
  • 联合体(Union)
  • ASP.NET Core WebApi接口IP限流实践技术指南
  • 数字化时代,传统代理模式的变革之路
  • IO模型与NIO基础二
  • Android SystemUI——车载CarSystemUI加载(八)
  • KubeSphere部署安装,接入KubeKey安装的k8s集群
  • FreeType 介绍及 C# 示例
  • 联发科MTK6762/MT6762安卓核心板_4G智能模块应用
  • 网安快速入门之Windows命令
  • Spring Boot+Vue项目从零入手
  • 图解Git——服务器上的Git《Pro Git》
  • JavaScript 创建一个简单的签名板
  • 10 为什么系统需要引入分布式、微服务架构
  • 惠普M1005黑白激光打印机开机提示no print oartridge故障检修
  • 校园水电费管理小程序的设计与实现(LW+源码+讲解)
  • 云手机技术架构原理浅析,ARM架构与X86架构的对比
  • JavaScript语言的数据结构
  • 03JavaWeb——Ajax-Vue-Element(项目实战)
  • ubuntu的截图工具有哪些
  • 【机器学习实战入门】使用OpenCV和Keras的驾驶员疲劳检测系统
  • jenkins 入门到精通
  • cmake + vscode + mingw 开发环境配置
  • SystemUI 实现音量条同步功能
  • Python剪辑视频小妙招(moivepy库)
  • C#表达式和运算符