栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQLite3,OperationalError:无法打开数据库文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQLite3,OperationalError:无法打开数据库文件

主要诊断:SQLite由于某种原因无法打开该文件。

检查明显的原因,并按建议的大致顺序检查:

  • 该程序是否与您正在测试的同一台计算机上运行?
  • 它是否以您的身份(或至少与您进行测试的用户相同)运行?
  • 磁盘是否
    /tmp
    已满?(您在Unix上,因此请使用
    df /tmp
    查找。)
  • /tmp/cer
    目录是否具有“奇数”权限?(SQLite需要能够在其中创建其他文件,以便处理诸如提交日志之类的事情。)
  • 单元测试代码是否仍在使用该数据库?(并发打开 可以用现代足够SQLite和当在正确的文件系统-尽管
    /tmp
    几乎总是在正确的排序FS的所以它可能不是-但它仍然不建议使用。)
  • 开发代码是 真的在 尝试写入该数据库,还是“聪明”的东西吸引了您,并导致它尝试打开其他东西?(过去我在代码中被这个问题所吸引;不要以为这不会发生在您身上……)
  • 您是否在单元测试和生产代码中使用相同版本的SQLite库?

如果您不在同一台计算机上,那么生产系统很可能没有

/tmp/cer
目录。显然首先要解决此问题。同样,如果您在同一台计算机上但以不同的用户身份运行,则可能会遇到权限/所有权问题。磁盘空间是另一个严重的难题,但是可能性很小。我不认为这是最后三个,但是值得检查是否可以解决更明显的部署问题。如果以上都不是,则您遇到了一个奇特的问题,将不得不报告更多的信息(它甚至可能是SQLite中的错误,但是了解它的开发人员,我相信这种可能性很小)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650503.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号