Frage

Ich bin nach der Anleitung auf der django Website, die ich previsouly Windows XP tat mit und alles ging gut, aber auf Windows 7 bekomme ich folgende Fehlermeldung:

sqlite3.OperationalError: unable to open database file

Ich verwende folgende Möglichkeiten:

python manage.py sql Blog

Hat jemand irgendwelche Ideen, was falsch sein könnte. Die Datenbankdatei wird in C:\Software\Sqlite\Databases\Blog.db befindet

Und die relative settings.py oder Abschnitt ist einfach:

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

Ich habe auch zum Testen jedem mit vollständigen Berechtigungen hinzugefügt.

Aber wie ich sage, dass ich die folgende Fehlermeldung erhalten:

sqlite3.OperationalError: unable to open database file

Jede Hilfe ist willkommen,

Andrew

War es hilfreich?

Lösung

Ich glaube nicht, dass Sie einen vollständigen Windows-Pfad verwenden können Ihre SQLite-Datenbank zuzugreifen. Ich habe einige Tests hier und der einzige Weg, betreibe ich eine sqlite3 Datenbank auf django nicht im selben Verzeichnis des Projekts DATABASE_NAME wurde mit nutzen konnte = ‚../anotherfolder/db.db‘ (dies bei C wurde: \ anotherfolder \ und Projekt wurde in c: \ mydjangoproject)

Andere Tipps

Ich weiß, diese Frage hat bereits eine akzeptierte Antwort, aber ich glaube, Sie etwas verpasst. Sie sollten rohe Strings verwenden, wenn die Saiten Schrägstriche enthalten:

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

Dies ist, was passiert, wenn Sie keine rohe Zeichenfolge verwenden:

>>> print 'C:\Software\Sqlite\databases\blog.db'
C:\Software\Sqlite\databaselog.db

Eine Vermutung ist, dass die Datei in diesem Verzeichnis tatsächlich nicht ist. Wenn Sie UAC windows 7 aktiviert haben wird es so aussehen, wie die Datei an dieser Stelle ist (es im Windows Explorer angezeigt wird). Allerdings wird die Datei wirklich gespeichert in c. \ Users \ ihrbenutzername \ AppData \ Local \ Virtuals \ Software \ SQLite \ Datenbanken oder eine ähnliche Lage

Haben Sie einen Blick auf die Berechtigungen des Ordners. Kann Ihre normale Benutzer bearbeiten Dateien dort?

Kehren Sie die Schrägstriche in DATABASE_NAME: von C:\Software\Sqlite\databases\blog.db zu C:/Software/Sqlite/databases/blog.db

Ich bin mit django 1.4 auf Win7 und dies war die Lösung für mich - die Datei muss nicht existiert bereits

Umkehrung der Schrägstriche in der Datenbank Namen löste das Problem für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top