.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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM