操作错误:无法打开数据库文件 None None
我在用SQLAlchemy格式化数据库的时候,运行create_all命令时遇到了错误。为了用户Tyre77,我是用下面这个路径创建的引擎:
engine = create_engine('sqlite:////tyre77/OmniCloud/database.db')
我检查过了,那个路径下确实有一个叫'database.db'的文件,但我可能输入错了路径?
3 个回答
1
在阅读了关于sqlite网址的文档后,我发现你使用的斜杠数量是正确的。显然,它使用相同的解析器来提取路径,就像远程连接的引擎一样,所以在第二个和第三个斜杠之间的“服务器名称”是留空的。
如果你想指定一个绝对路径,你的做法是对的。确保你提供的是绝对路径。三个斜杠可能可以指定一个相对路径,但你需要知道你应用程序的当前工作目录,这在你延迟应用程序时可能会出问题。
7
我在Windows 8.1上也遇到了同样的问题。根据sqlalchemy的说明:
sqlite:////db_absolute_path
sqlite:///db_relative_path
(注意上面第二行只有3个斜杠)在我的情况下,使用相对路径解决了这个问题。
47
你提到这是OS X系统上用户tyre77的路径,那这个路径不应该是sqlite:////Users/tyre77/OmniCloud/database.db
吗?
另外,相对路径用三个斜杠,绝对路径用四个斜杠。