Как я могу использовать SQLITE с DJANGO в Windows 7 - PullRequest
2 голосов
/ 27 ноября 2009

Я следую учебному пособию на сайте DJango, которое я ранее делал на Windows XP, и все прошло нормально, но на Windows 7 я получаю следующую ошибку:

sqlite3.OperationalError: unable to open database file

Я использую следующее:

python manage.py sql Blog

Есть ли у кого-нибудь идеи, что может быть не так? Файл базы данных находится в C:\Software\Sqlite\Databases\Blog.db

А относительный файл settings.py или его раздел просто:

DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'C:\Software\Sqlite\databases\blog.db'             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with

Я также для целей тестирования добавил всех с полными разрешениями.

Но, как я уже сказал, я получаю следующую ошибку:

sqlite3.OperationalError: unable to open database file

Любая помощь приветствуется,

Andrew

Ответы [ 6 ]

9 голосов
/ 27 ноября 2009

Я знаю, что на этот вопрос уже принят ответ, но я думаю, что вы что-то упустили. Вы должны использовать необработанные строки, когда ваши строки содержат обратную косую черту:

DATABASE_NAME = r'C:\Software\Sqlite\databases\blog.db' 

Вот что происходит, если вы не используете необработанную строку:

>>> print 'C:\Software\Sqlite\databases\blog.db'
C:\Software\Sqlite\databaselog.db
2 голосов
/ 27 ноября 2009

Я не думаю, что вы можете использовать полный путь Windows для доступа к вашей базе данных sqlite. Я провел здесь несколько тестов, и единственный способ использовать базу данных sqlite3 для django, находящейся не в том же каталоге проекта, - использовать DATABASE_NAME = '../anotherfolder/db.db' (он был расположен в папке c: \ anotherfolder \ и проект был расположен в c: \ mydjangoproject)

0 голосов
/ 04 сентября 2013

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

0 голосов
/ 23 ноября 2012

Обратный слеш в DATABASE_NAME: от C:\Software\Sqlite\databases\blog.db до C:/Software/Sqlite/databases/blog.db

Я использую django 1.4 на Win7, и это было для меня решением - файл уже не должен существовать

0 голосов
/ 27 ноября 2009

Посмотрите на разрешения для папки. Может ли ваш обычный пользователь редактировать файлы там?

0 голосов
/ 27 ноября 2009

Предполагается, что файл на самом деле не в этом каталоге. Если у вас включен UAC, Windows 7 будет выглядеть так, как будто файл находится в этом месте (он будет отображаться в проводнике Windows). Однако файл действительно хранится в каталоге c: \ users \ yourusername \ AppData \ Local \ VirtualStore \ Software \ Sqlite \ database или в аналогичном месте.

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