6

System.Data.SQLite用来在 UNC 路径上打开一些数据库。使用的版本是 1.0.82 并且运行良好。当它升级到 1.0.86 时,我突然开始收到无法打开数据库文件的错误。

过了一会儿,我发现在SQLiteConnection构造函数中添加了一个名为parseViaFramework. 当我将其设置为 true 时,一切都重新开始工作。

但是,关于此参数实际作用的信息很少。我可以发现它与连接字符串的解析方式有关,但这是我所能得到的。如果我进入parseViaFramework谷歌搜索,我只会得到 2 页的结果。

谁能告诉我这个参数到底是做什么的?

4

3 回答 3

3

此添加是为了允许在打开连接时使用内置的(即框架提供的)连接字符串解析器。显然,这个改变是为了解决这个问题。(来源

还有一件事我自己也注意到了。使用 ExecuteReader 时,您会得到一个“空阅读器”,您需要自己执行第一个 Read()。我认为这是由于升级,因为我的代码在没有它之前运行良好。也许这是您需要检查的另一件事。

于 2013-06-07T02:56:26.373 回答
0

@ranmoro 在这里提到了这个问题的解决方案:

https://stackoverflow.com/a/18506097/852318

对我有用的是通过以下方式编辑 web.config db 文件连接字符串:

将文件名中前导的两个反斜杠加倍(例如“\\network\share\file.db”)。

于 2018-05-03T06:32:41.190 回答
0

在这里(第一个答案)和那里提到了您与 UNC 的问题及其在 SqliteConnection 的构造函数中使用 parseViaFramework 标志的可能解决方案

于 2015-11-19T07:52:46.460 回答