首页 > 解决方案 > Sqlite3,OperationalError:无法在 Mac OS、外部硬盘驱动器上打开数据库文件

问题描述

我查看了这方面的几个主题并尝试了各种建议的解决方案(例如这里),但我仍然无法打开我的 sqlite 数据库。

它曾经运行顺利,但最近(我无法确定何时)我得到了错误:

Sqlite3, OperationalError: unable to open database file

当前设置:数据库位于通过 USB 连接到 mac mini 的外部硬盘上。我使用 macbook pro 通过以太网连接到这个 mac mini“服务器”。在我的 macbook pro 中,以下代码返回错误:

import sqlite3 as sq3
import os

filename = '/Volumes/AGCM_DB/Database/AGCM.db'
conn = sq3.connect(filename)

我尝试了什么:

它返回 True 所以我的 macbook pro 通过 mac mini “看到”外部硬盘驱动器上的文件。

我检查了文件夹数据库和文件 AGCM.db 的权限,我的 macbook pro 具有读写权限。

我的猜测是我在某处遗漏了一些许可(但在哪里?)。

Mac Mini:OS High Sierra Macbook pro:OS Big Sur

编辑:我做了另一个读取“.csv”文件的测试并得到一个错误“不允许操作”所以​​这告诉我我有一个权限问题,这不是一个 sqlite 问题

标签: python-3.xmacossqlite

解决方案


好的,我通过尝试将 macbook pro 命令行中的文件简单复制/粘贴到外部驱动器来解决这个问题

cp <source> <destination>

它奏效了。因此,我的 python 编辑器缺少权限:我在 macbook pro 上授予了对 PyCharm 的完整磁盘访问权限,现在我在外部硬盘驱动器中获得了所需的目录列表,并且还可以访问其上的数据库。


推荐阅读