SQLite 数据库文件放在网络文件夹中时无法打开
SQLite database file can't be opened when placed in network folder
谁能帮我理解为什么这样可以正常工作...
Dim cs = "Data Source=C:\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' no exception
...虽然这在打开连接时中断(它是完全相同的文件)...
Dim cs = "Data Source=\NetworkServer\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' exception: {"unable to open database file"}
... 并修复它,因为我需要将数据库文件放在网络位置,这样我就可以访问它,而不管我 运行 应用程序是什么计算机?
非常感谢!
好的,通过反复试验我找到了解决方案,虽然我不太明白它起作用的原因:
Dim cs = "Data Source=\NetworkServer\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.ParseViaFramework = True ' JUST ADDED THIS STATEMENT
cn.Open() ' no exception
如果有人能解释为什么 .ParseViaFramework = True
会这样,请随时发表评论。
谁能帮我理解为什么这样可以正常工作...
Dim cs = "Data Source=C:\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' no exception
...虽然这在打开连接时中断(它是完全相同的文件)...
Dim cs = "Data Source=\NetworkServer\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.Open() ' exception: {"unable to open database file"}
... 并修复它,因为我需要将数据库文件放在网络位置,这样我就可以访问它,而不管我 运行 应用程序是什么计算机?
非常感谢!
好的,通过反复试验我找到了解决方案,虽然我不太明白它起作用的原因:
Dim cs = "Data Source=\NetworkServer\folder\Livros.sdb;Version=3;"
Dim cn = New System.Data.SQLite.SQLiteConnection(cs)
cn.ParseViaFramework = True ' JUST ADDED THIS STATEMENT
cn.Open() ' no exception
如果有人能解释为什么 .ParseViaFramework = True
会这样,请随时发表评论。