SQLITE在IIS中使用问题

本文主要介绍了在Web项目中使用SQLite数据库时常见的DLL版本问题及其解决方案。包括如何处理X86与X64版本不匹配导致的问题、缺少依赖项的情况以及如何确保应用程序池配置正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在WEB中使用这个数据库时,System.Data.SQLite.dll 这个经常会出问题

主要是版本问题,sqlite.DLL的版本要和Framework版本匹配

这是下载地址 http://www.sqlite.org/download.html 还要注意X86 X64问题

// 常见错误

1.在VS中调试正常,在IIS上报错,格式不正确程序:

  这是一般使用了X86的DLL,而应用程序池未开启32位.可以开启32位,或者使用64位的DLL

2.找不到sqlite.dll或者它一依赖项

       SQLite.Interop.dll 这种的话,那是使用了库文件名不带"bundle"的那种.

  sqlite.dll依赖VC++2010,查看一下系统有没有安装,一般开发机上装了VS的都会装.服务器上可能没装.

  下载地址 https://www.microsoft.com/zh-CN/download/details.aspx?id=5555 也要注意32 64的问题

3.关于使用时出错的排解办法需要注意以下几点:

   看项目的.NET版本,找对应的SQLITE库.这个最重要.错了不行.

   看有没有带bundle.不带bundle版本的会报 SQLite.Interop.dll.

   看服务器有没有装VC++, 至于版本.请看下面描述.

   看下载的版本文件名?例如这个版本:

      sqlite-netFx46-binary-bundle-x64-2015-1.0.105.2.zip

netFx46:  是.NET4.6版本的SQLITE库

bundle:    带有bundle(这个猜测是捆绑了一些库),如果选了没带这个的库,那么运行后会报错找不到SQLite.Interop.dll,而这DLL又非.NET版本的,不能添加引用.

x64:          64位的.如果服务器64位,选这种.如果选了32位的.那么要开启应用池的32位支持

2015:          VC++库的版本.4.6这个需要VC++2015UP3 并且装上X86和X64两种.如果没有装,那么程序是死活运行不了的

这些都弄了.应该不会再出错了

转载于:https://www.cnblogs.com/mirrortom/p/6376490.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值