關於sqlite數據庫在使用過程中應該注意以下幾點


 

1:使用sqlite數據庫,經常會出現數據庫連接不上的情況,這個時候需要檢查sqlite.dll是否添加了引用,且添加的dll的版本與所使用的sqlite版本是否一致。

   這兩個dll是使用sqlite必須要添加的引用,

 

2:為了不使sqlite發布后,找不到數據庫,需要手動設置這兩個dll自動拷貝到本地。

                右擊-》屬性-》

 

3:發布的網站記得在Web.config 文件下添加以下節點才能正確訪問到sqlite數據庫

 <system.data>
  <DbProviderFactories>
   <remove invariant="System.Data.SQLite" />
   <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
  </DbProviderFactories>
 </system.data>

4:數據庫放在app_data目錄下,發布時引用文件的地址為,不至於是絕對路徑無法訪問:

<connectionStrings>
  <add name="dbEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=|DataDirectory|\db.db&quot;" providerName="System.Data.EntityClient" />
 </connectionStrings>

 

5:今天配置一台x64的機器時,報sqlite的錯誤,“Could not load file or assembly 'System.Data.SQLite' or one of its dependencies. 試圖加載格式不正確的程序。”

一開始總以為是sqlite數據庫連接不上或是dll版本的問題,后來才發現,System.Data.SQLite是分了操作系統版本的,有X86,X64之分;因此應用程序池應該選擇兼容WIN32;

錯誤截圖:

具體操作如下:
在iis管理器,選中應用程序池-》對正在使用的應用程序池 點擊 高級設置   -》啟用32位應用程序 為 true.

 

這時刷新頁面  錯誤解除。

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

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



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