【发布时间】:2011-06-05 22:29:15
【问题描述】:
问题:为什么我打不开数据库?
信息:我正在使用sqlite3 数据库进行项目。我编写了一个测试程序,它运行并将其传递给数据库:
/tmp/cer/could.db
单元测试程序可以使db没有任何问题。但是,当我实际使用将相同位置传递给它的程序时,出现以下错误:
OperationalError: 无法打开数据库文件
我试过这样做:
1) an empty database.
2) the database and the unit test left behind.
3) no database at all.
在三种情况下,我得到了上述错误。最令人沮丧的部分是unittest 可以做到这一点,但实际程序却不能。
关于到底发生了什么的任何线索?
【问题讨论】:
-
这是完整路径吗?您确定您没有通过环境变量或
~或其他一些简短形式传递路径吗? -
/tmp/cer/目录是否存在?
-
@chrisaycook:是的。我不是。 @thkala:确实如此。
-
遇到了同样的错误,原来我的文件名中有一个冒号':',而sqlite不喜欢它。把它拿出来,就像一个魅力。