.Net版SQLite无法访问网络位置的数据库文件--提示cannot open database file

        基于应用需求,需要访问局域网内共享的数据库,直接引用System.Data.SQLite.dll 的话,会提示cannot open database file。网上发现了一篇文章http://www.cnblogs.com/yangzhj/p/4230123.html解决了这个问题(非常感谢,这个资料我查了很久),由于我的应用的是基于4.5的并且想自己实践一下,看看SQLite的源码,就跟着博主的思路,从网上下载了最新的SQLite源码。这是地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 到这篇文章发布时,用的是sqlite-netFx-source-1.0.105.2.zip这个版本(已经基于framework 4.6,由于我是基于4.5的,所以将项目都改成4.5了)。源码里提供了单元测试,可以直接运行test.2015来调试。但是第一次调试可能会出现问题,直接运行的话在使用DbProviderFactories.GetFactory(factoryString);报了错,如图

检查到内部InnerException的时候发现提示无法加载DLL"SQLite.Interop.dll",去到对应的生成目录下看,确实没有。随找到这个类库,进行生成,发现输出的时候是

生成的是SQLite.dll(这里我不是很明白,为什么已经生成到System.Data.SQLite.dll里了,但是调试test的时候还是会报没有引用的问题),随即对输出目录和目标文件名进行修改

再次运行test之后,进入调试。然后按照上面博客的思路,进行修改,解决了局域网数据库的访问问题。

附上最新编译好得连接,基于framework 4.5 x64的 SQLiteNet4.5.rar

 

posted @ 2017-09-29 10:44  花落花开花满园  阅读(2516)  评论(1编辑  收藏  举报