无法在sqlite中打开数据库文件(使用finisar.sqlite)

本文关键字:sqlite 文件 使用 数据库 finisar | 更新日期: 2023-09-27 18:24:43

我在应用程序中使用带有sqlite.net dll的sqlite数据库。命名空间为Finisar.sqlite我在使用事务将条目插入数据库时遇到问题,它在打开连接时抛出异常,称为"无法打开数据库文件"。

我在谷歌上搜索,但解决方案就像更改连接字符串。如果我遵循这个过程,那么finisar会将异常作为无效的params。

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)

我尝试了池连接字符串、日志模式=关闭等解决方案,但对我来说什么都不起作用。由于参数无效,我甚至无法创建受密码保护的文件

除此参数外,我无法添加其他参数。如果有人对此问题有解决方案,请帮助我们。

提前谢谢。

无法在sqlite中打开数据库文件(使用finisar.sqlite)

所以这里可能出现了很多问题:

  1. SQLite数据库所在的文件夹,您没有写入权限
  2. 数据库已由另一个SQLiteConnection打开
  3. 连接字符串错误。我认为这个不太可能,因为它显然是一个从中提取连接字符串的变量,我不得不相信,其他时候你想要数据时,你使用了相同的字符串

要补救#2,您应该始终这样访问您的数据:

using (SQLiteConnection c = new SQLiteConnection(f_strConnStr))
{
    c.Open();
    ...
}