• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joan
博客园    首页    新随笔    联系   管理    订阅  订阅
关于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.

 

这时刷新页面  错误解除。

 

 

 

 

 

 

 

 

 

 

 

作者:Joan
出处:http://www.cnblogs.com/Joans/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2012-04-26 11:35  Joans  阅读(3588)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3