private void SetConnection()
{
string a = string.Format(@"Data Source={0};Version=3;New=False;Compress=True;", "~/lodeDb.db");
sql_con = new SQLiteConnection(a);
}
private void ExecuteQuery(string txtQuery)
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = txtQuery;
sql_cmd.ExecuteNonQuery();
sql_con.Close();
}
当我运行sql_cmd.ExecuteNonQuery
时,SqlException为:
“无法打开数据库文件”。
“lodeDb.db”文件在我的主机上,我想数据来源是错误的。如果数据库文件在网上托管,如何设置连接的数据源?权限文件在这里没有问题。
6条答案
按热度按时间zlhcx6iw1#
当我试图打开网络驱动器上的数据库时,我得到了相同的异常(路径以“\myServer\myDbFile...”开头)我将
true
设置为连接构造函数中的parseViaFramework
参数,从而解决了这个问题。dwbf0jvd2#
这是一个连接字符串问题,
SQL Lite连接字符串格式
基本信息:
使用UTF16:
带密码:
使用3.3x之前的数据库格式:
使用连接池:
只读连接:
编辑1:
连接到远程数据库不同,您必须检查以下事项。
1.防火墙端口允许性。
1.提供数据库的公司/主机允许远程连接。
neekobn83#
我的问题在连接字符串中添加“Journal模式=off;”就解决了
禁用日志文件此选项将完全禁用回滚日志。
数据源=c:\mydb.db;版本=3;日志模式=关闭;
knsnq2tg4#
我遇到了同样的问题,并使用类似@“Data Source=C:\ProgramData\proj\lodeDb.db;Version=3;FailIfMissing=False”的查询字符串修复了它
我的意思是,当我使用DB文件的位置的完整路径时,它可以工作,当我使用“~/lodeDb.db”时,它不能工作
whlutmcx5#
这个解决方案对我很管用:
ia2d9nvy6#
我已经通过设置System.Data.SQLite DLL=>PROPERTIES=>Copy local=>“True”解决了这个问题