Подтвердить что ты не робот

OperationalError: (OperationalError) невозможно открыть файл базы данных Нет Нет

Попытка форматировать базу данных с помощью SQLAlchemy, но когда я запускаю create_all в метаданных, я получаю вышеуказанную ошибку. Я создал движок, используя следующий путь для пользователя Tyre77:

engine = create_engine('sqlite:////tyre77/OmniCloud/database.db')

Я прошел через, и на этом пути есть файл "database.db", но, возможно, я набрал его неправильно?

4b9b3361

Ответ 1

Вы упомянули, что это путь к пользователю tyre77 в OS X, поэтому не должно быть sqlite:////Users/tyre77/OmniCloud/database.db?

Кроме того, три слэша для относительных путей, четыре для абсолютных путей.

Ответ 2

После прочтения документов на sqlite urls здесь, я решил, что у вас есть правильное количество косых черт. По-видимому, он использует тот же синтаксический анализатор, чтобы вытащить путь в качестве двигателей удаленного соединения, поэтому "имя сервера", которое будет проходить между вторым и третьим косой чертой, остается пустым.

Если вы хотите указать абсолютный путь, вы делаете правильный путь. Убедитесь, что вы обеспечиваете абсолютный путь. Три косой черты могут указывать относительный путь, но вам нужно знать текущий рабочий каталог вашего приложения, которое может сломаться при задержке вашего приложения.

Ответ 3

У меня была такая же проблема в Windows 8.1. Основываясь на документации sqlalchemy:

sqlite:////db_absolute_path

sqlite:///db_relative_path

(заметим, что вторая строка выше имеет только 3 слэша) В моем случае помогал относительный путь.