sqlite3.OperationalError: unable to open database file
Cet article enseigne comment contrer l’erreur opérationnelle sqlite3.OperationalError : unable to open database file
.
sqlite3.OperationalError : unable to open database file
Erreur dans SQLite
Nous devons répondre aux questions ci-dessous pour résoudre l’erreur.
-
Le logiciel est-il testé sur le même ordinateur que vous le testez ?
-
Fonctionne-t-il avec le même utilisateur que celui que vous testez ?
-
Le répertoire
/tmp
du disque est-il plein ? -
Les permissions sur le répertoire
/tmp/cer
sont-elles impaires ?SQLite doit pouvoir y créer des fichiers supplémentaires pour gérer des éléments tels que le journal de validation.
-
Le code de test unitaire utilise-t-il toujours la base de données ?
Les ouvertures simultanées sont possibles avec un SQLite contemporain et le système de fichiers correct - cependant,
/tmp
est presque toujours sur le bon type de FS, donc ce n’est probablement pas ça - mais ce n’est toujours pas conseillé. -
Le code de développement tente-t-il d’écrire dans cette base de données, ou quelque chose d’“intelligent” vous prend-il par surprise et le pousse-t-il à tenter d’ouvrir autre chose ?
-
Les tests unitaires et le code de production utilisent-ils la même version de la bibliothèque SQLite ?
Il est concevable que le système de production n’ait pas de répertoire /tmp/cer
si vous n’êtes pas sur le même ordinateur. Il va de soi qu’il faut d’abord s’y attaquer.
De même, si vous travaillez avec plusieurs utilisateurs sur le même système, vous rencontrerez probablement des problèmes d’autorisations/de propriété. Un autre piège potentiel est le manque d’espace disque.
Ce ne sont probablement pas les trois derniers, mais si les problèmes de déploiement les plus évidents ont été résolus, ils valent la peine d’être examinés.
Si aucune des situations suivantes ne s’applique, vous avez rencontré une situation inhabituelle et devrez fournir beaucoup plus d’informations (il peut même s’agir d’un bogue dans SQLite, mais connaissant ses développeurs, c’est assez peu probable).
De ces manières, nous pouvons résoudre le sqlite3.OperationalError: unable to open database file
.