SQLITE在IIS中使用问题

时间:2022-11-26 05:34:21

在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两种.如果没有装,那么程序是死活运行不了的

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