【发布时间】:2013-07-24 17:34:59
【问题描述】:
我在我的应用程序中使用带有 sqlite.net dll 的 sqlite 数据库。 命名空间是 Finisar.sqlite 我在使用事务向数据库中插入条目时遇到问题,它在打开连接时抛出异常“无法打开数据库文件”。
我用谷歌搜索,但解决方案就像更改连接字符串。如果我遵循该过程,那么 Finisar 会给我异常作为无效参数。
SQLiteConnection db = new SQLiteConnection(f_strConnStr);
db.Open();
**Valid parameters are:**
Data Source=<database file> (required)
Version=<version of SQLite (2 or 3)> (default: 2)
New=True|False (default: False)
Compress=True|False (default: False)
UTF8Encoding=True|False (default: False)
UTF16Encoding=True|False (default: False)
Cache Size=<N> (default: 2000)
Synchronous=Full|Normal|Off (default: Normal)
DateTimeFormat=ISO8601|Ticks|CurrentCulture (default: ISO8601)
Compatibility=[old-date-format][,old-binary-format] (default: None)
我尝试了池连接字符串、日志模式 = 关闭等解决方案,但对我没有任何效果。由于参数无效,即使我也无法创建受密码保护的文件。
我无法添加除此参数之外的其他参数。 如果有人对此问题有解决方案,请帮助我们。
提前致谢。
【问题讨论】:
-
确切异常文本是什么?
-
“无法打开数据库文件”这是我从 Exception.message 得到的信息 如果您需要更多信息,我会给您
-
你可以在另一个可以打开 SQLite 数据库的程序中打开它吗?就像 Firefox 插件一样。
-
不,我正在对其应用 lock(){ Insert statements}。只有我的应用程序使用该文件。但我有两个应用程序第一个是 Windows 服务,第二个是 Windows 应用程序。我如何知道天气文件正在另一个应用程序中使用。我可以在 sqliteExpert 中打开它