sqlite3.OperationalError: impossible d'ouvrir le fichier de base de données
J'ai cette erreur lors de la configuration d'un serveur dans Django. Il est sqlite3 qui signifie qu'il doit créer de la .le fichier db, mais il ne semble pas être le faire. J'ai stipulé SQLite comme le backend et le chemin absolu du fichier pour savoir où le mettre, mais pas de chance.
Est-ce un bug ou ai-je fait quelque chose d'incorrect? (Viens de penser, est le chemin absolu du fichier spécifié différemment dans Ubuntu?)
Voici le début de mon settings.py fichier:
# Django settings for OmniCloud project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', '[email protected]'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '~/Harold-Server/OmniCloud.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
- Quel dommage que le message d'erreur d'origine ne couvre pas le nom de fichier qui provoque l'erreur, qui pourrait aider un peu.
Vous devez vous connecter pour publier un commentaire.
Django NewbieMistakes
chmod o+w .
dans la base de données du fichier de dossier fixe pour moi.'C:\\django\\sqlite\\django.db'
our'C:\django\sqlite\django.db'
assurez-vous que rien n'est charcaters dans le chemin d'accès comme "éè" ou "(". Si vous utilisez Windows et que ce message apparaît par intermittence assurez-vous que vos logiciels de sécurité (Anti-malware) ne sont pas d'ouverture (et de verrouillage) de votre fichier de base de données pour vérifier la présence de logiciels malveillants."Je me suis confronté exactement le même problème. Voici ma configuration qui a fonctionné.
Autre paramètre en cas de sqlite3 sera même/default.
Et vous avez besoin pour créer des données.sqlite3.
Vous n'avez pas spécifié le chemin d'accès absolu - vous avez utilisé un raccourci ,
~
, qui peut ne pas fonctionner dans ce contexte. Utilisation/home/yourusername/Harold-Server/OmniCloud.db
à la place.Vous devez utiliser le chemin d'accès complet au lieu de
~/
.Dans votre cas, quelque chose comme
/home/harold/Harold-Server/OmniCloud.db
.Dans mon cas, le fichier de base de données sqlite
db.sqlite3
a été stocké dans laDocumentRoot
de apache. Ainsi, même après avoir réglé les autorisations suivantes, il ne fonctionne pas:Enfin, quand j'ai déménagé
db.sqlite3
à un dossier nouvellement créédbfolder
sousDocumentRoot
et a donné les autorisations ci-dessus, et cela a fonctionné.utiliser ce type il fonctionne pour moi .
windows 7 avec python 2.7 et django 1.5
espère que sa fonctionne...