在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两种.如果没有装,那么程序是死活运行不了的
这些都弄了.应该不会再出错了