SQLiteException(SQLite异常错误):'无法打开数据库文件'

uajslkp6  于 2022-12-13  发布在  SQLite
关注(0)|答案(2)|浏览(611)

如图所示,“ProjectDB.db”是我通过SQLite Compact Toolbox构建的一个数据库。该数据库确实存在于该文件夹路径中。在调试应用程序时抛出了标题中的异常。
Visual Studio 2017. Windows 10中的应用程序。
运行应用程序时的错误快照
enter image description here
enter image description here
用于连接SQL lite数据库的连接字符串

SQLiteConnection db = 
new SQLiteConnection(@"Data Source=C:\Users\georg\source\repos\DatabasePractice\ProjectDB.db;Version=3;";
db.Open();
hc8w905p

hc8w905p1#

在Windows上的Sqlite目录/路径应该使用双反斜杠,如下所示:

C:\\Users\\georg\\source

如果这不能解决问题,请尝试以下故障排除步骤:
1.数据库是否存储在远程服务器或“只读”目录中?
1.父目录是否为“只读”目录?
1.尝试使用Source="... Practice\ProjectDB;执行您的代码数据库中的数据“
1.是否有其他程序正在尝试读取数据库?尽管这应该会引发“数据库已锁定”异常,这使得这种情况不太可能发生。

8fsztsew

8fsztsew2#

我在共享主机服务器上遇到了同样的问题,我的C#代码能够从SQLIte数据库文件中读取数据。但在添加/更新数据时,它抛出了错误“无法打开数据库”
我尝试了很多关于stackoverflow的建议选项,但是在引用了https://stackoverflow.com/a/17780808/2021073和www.example.com之后https://www.sqlite.org/pragma.html#pragma_journal_mode,我尝试添加**journal mode=Off;**到连接字符串
这对我很有效
样本代码

SQLiteConnection connection = new SQLiteConnection("Data Source=G:\dbfolder\sqlite3.db;Version=3;Mode=ReadWrite;journal mode=Off;", true);

相关问题