OperationalError: (OperationalError) impossible d'ouvrir le fichier de base de données aucune Aucune
Essayant de formater une base de données à l'aide de SQLAlchemy, mais quand je lance create_all sur les métadonnées, j'obtiens l'erreur ci-dessus. J'ai créé le moteur en utilisant le chemin suivant pour l'utilisateur Tyre77:
engine = create_engine('sqlite:////tyre77/OmniCloud/database.db')
Je l'ai parcouru et il y a un fichier de base de données.db' à ce chemin, mais peut-être que j'ai tapé ce mal?
- D'après votre question, je ne sais pas si vous utilisez windows ou unix comme système d'exploitation. Si vous êtes sur linux, il semble que vous avez un trop grand nombre de caractères après le fichier: si vous êtes sur windows, avez-vous essayé d'utiliser un fichier sur le disque local?
- désolé, je suis sur OS X Lion et qui doit être un chemin d'accès local
- Je pense que vous avez un trop grand nombre de barres obliques. Il doit être trois.
- Ok. Je pensais que dans une partie de la documentation de SQLAlchemy il a dit il y a 3 mais alors, si vous fournissez un chemin direct il y a 4 mais peut avoir fait que jusqu'à
Vous devez vous connecter pour publier un commentaire.
Vous mentionner que c'est un chemin d'accès de l'utilisateur, tyre77 sur OS X, et donc ne devrait pas être
sqlite:////Users/tyre77/OmniCloud/database.db
?Également trois barres obliques pour les chemins relatifs, quatre chemins absolus.
J'ai eu le même problème dans windows 8.1.
Basé sur sqlalchemy documentation:
(notez que la deuxième ligne ci-dessus n'a que 3 barres obliques)
Dans mon cas, pourvu que chemin d'accès relatif aidé.
Après la lecture de la documentation sur sqlite url ici, j'ai décidé de vous le nombre de barres obliques. Apparemment, il utilise le même analyseur de sortir de la voie que la connexion à distance des moteurs, de sorte que le "nom du serveur" qui serait entre la deuxième et la troisième barre oblique est laissé vide.
Si vous souhaitez spécifier un chemin d'accès absolu, vous allez sur le droit chemin. Assurez-vous que vous fournir un chemin d'accès absolu. Trois barres obliques peuvent être en mesure de spécifier un chemin relatif, mais vous devez savoir que le répertoire de travail actuel de votre application, ce qui pourrait casser lorsque vous retardez votre application.