【发布时间】:2023-12-25 09:28:01
【问题描述】:
我有一个 python 脚本,它使用一些外部数据创建一个 sqlite 数据库。这工作正常。但是每次我在这个数据库上执行 GROUP BY 查询时,我都会收到“错误:无法打开数据库文件”。正常的 SELECT 查询有效。
这对于 python 的 sqlite3 库和 sqlite3 cli 二进制文件都是一个问题:
sqlite> SELECT count(*) FROM REC;
count(*)
----------
528489
sqlite> SELECT count(*) FROM REC GROUP BY VERSION;
Error: unable to open database file
sqlite>
我知道这些错误通常是权限错误(我已经阅读了我在 * 上可以找到的关于此主题的所有问题),但我很确定这不是我的情况:
- 我说的是易于创建的数据库和读取请求
- 我检查了权限:文件及其包含的文件夹都设置了写权限
- 我什至可以写入数据库:创建新表没问题。
- 设备未满,空间充足。
【问题讨论】:
-
serverfault.com/questions/57596/… 你检查过sqlite文件所在目录的所有权吗?如果该文件位于您的 $HOME 之外,请尝试将其移动到您的 $HOME 并查看问题是否消失。如果是这样,那就是权限/所有权问题。
-
从您的会话看来,您在 outside 中遇到了与 python 相同的问题,只使用了
sqlite3命令行实用程序。 -
正如我试图澄清的那样:这不是权限问题!