SqlSugar解决SQLite访问的问题:Unable to load DLL 'SQLite.Interop.dll'
SqlSugar用的版本是4.5.9.5,访问SQLite数据提示错误。在本机调试一时没有什么错误,把代码发布到服务器上以后刚开始运行没有问题,一段时间后报错。
English Message : Connection open error . Unable to load DLL 'SQLite.Interop.dll': 操作成功完成。 (Exception from HRESULT: 0x00000000 (S_OK))
Chinese Message : 连接字符串出错了,实在找不到原因请先Google错误Unable to load DLL 'SQLite.Interop.dll': 操作成功完成。 (Exception from HRESULT: 0x00000000 (S_OK)).
参考文章地址:
http://www.cnblogs.com/muzhiye/p/4284070.html
通过上面的文章参考,SqlSugar用的版本是依赖SQLite.Interop.dll因此可能会经常报错。所以我就下来一个不依赖SQLite.Interop.dll的System.Data.SQLite.dll试试
SqlSugar用到的SQLite的System.Data.SQLite.dll版本是1.0.102.0
不依赖SQLite.Interop.dll的dll官方下载地址:http://system.data.sqlite.org/downloads/1.0.102.0/sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.102.0.zip
其他版本的下载地址:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
下载后复制里面System.Data.SQLite.dll替换到服务器上bin目录下的相同名称dll。这样就不依赖SQLite.Interop.dll了同时服务器上需要安装Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)。这样就不容易出错了。
然后就解决了我的问题
attempt to write a readonly database
查了网上很多的解决方法
问题解决方法,本来SQLite的数据库是单独放到一个文件夹下的,并没有在web 的目录下。设置了各种用户的权限后都不可用,最后移植到web的App_Data文件夹下后,并设置了App_Data的权限就可以了-_-!