Sqlite3.OperationalError: невозможно открыть файл базы данных. Работает в Jupyter Notebook, ломается в приложении - PullRequest
0 голосов
/ 19 февраля 2020

У меня возникли проблемы с подключением к базе данных SQL на моем компьютере, где я разрабатываю приложение для анализа данных из этой базы данных. Я занимаюсь разработкой на MacOS Mojave. И мое приложение, и блокнот Jupyter, которые я использовал для создания прототипа своего приложения, живут на моей машине в каталогах одного и того же пользовательского каталога.

При попытке подключиться к базе данных в моем приложении возникает следующая ошибка:

conn = sqlite3.connect('/Users/{user}/Library/Messages/chat.db')

производит

Sqlite3.OperationalError: unable to open database file

Я сталкивался с предыдущими сообщениями StackOverflow ( Sqlite3, OperationalError: невозможно открыть файл базы данных ), в котором обсуждается то же сообщение об ошибке, но я все еще не могу решить мою проблему.

Я проверил разрешения базы данных и убедился, что мне разрешен доступ для чтения и записи для себя, групп и других.

Особенно меня озадачивает то, что одна и та же строка кода позволяет мне создать действительное соединение при работе в ноутбуке I Python. Единственное объяснение, которое я могу придумать, объясняющее проблему, заключается в том, что указанный мной путь фактически ведет к базе данных в записной книжке I Python, но не в моем приложении из-за различных каталогов, в которых они хранятся. I попытался использовать os.path.abspath для генерации абсолютного пути к базе данных, но у меня осталась исходная строка.

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...