关于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.

这时刷新页面  错误解除。

 

原文地址:https://www.cnblogs.com/Joans/p/2471121.html