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="data source=|DataDirectory|\db.db"" 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.
這時重新整理頁面 錯誤解除。