zoukankan      html  css  js  c++  java
  • 关于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.

    这时刷新页面  错误解除。

     

  • 相关阅读:
    iOS BCD编码
    Java泛型解析(02):通配符限定
    HDU 5317 RGCDQ(素数个数 多校2015啊)
    通过getElementById来取得Form里的表单元素
    关系型数据库工作原理-快速缓存(翻译自Coding-Geek文章)
    cocos2d-x之道~制作第一款文字游戏(二)
    Html5实现手机九宫格password解锁功能
    [Python] 字典推导 PEP 274 -- Dict Comprehensions
    NYOJ 36 最长公共子序列 (还是dp)
    【设计模式】学习笔记5:工厂模式
  • 原文地址:https://www.cnblogs.com/Joans/p/2471121.html
Copyright © 2011-2022 走看看