在c#里使用了sqlite写的程序,打包后,在其他的机器上程序可以运行,但是无法访问数据库,也没有报错,求
我用c#写了个windows应用程序,其中用到了sqlite数据库,安装文件为ado.netsqlite。开发环境vs2005。程序打包后安装在其他装有.netframw...
我用c#写了个windows应用程序,其中用到了sqlite数据库,安装文件为ado.net sqlite。开发环境vs2005。程序打包后安装在其他装有.net framwork的机器上程序部分可以正常启动,但是涉及数据库查询的操作均为没有记录。本机调试无任何问题,发布方式为Release,请问有什么解决办法?
解决加分。
数据库的路径为动态生成,不存在被固定化的问题。
同时我将数据库换为Access后,再打包安装到别的机器上后运行就是正常的。
不是只要在项目的引用里添加System.Date.SQLite就可以了吗?难道还要单独添加那个System.Data.SQLite.DLL才行吗?
另外我按照3楼的方法在打包的时候加入了System.Data.SQLite.DLL依然不行。
我很肯定,引入的dll的正确性,因为我之前也做过使用sqlite作为数据库的项目,都是正常的,唯独这次不行,求解。 展开
解决加分。
数据库的路径为动态生成,不存在被固定化的问题。
同时我将数据库换为Access后,再打包安装到别的机器上后运行就是正常的。
不是只要在项目的引用里添加System.Date.SQLite就可以了吗?难道还要单独添加那个System.Data.SQLite.DLL才行吗?
另外我按照3楼的方法在打包的时候加入了System.Data.SQLite.DLL依然不行。
我很肯定,引入的dll的正确性,因为我之前也做过使用sqlite作为数据库的项目,都是正常的,唯独这次不行,求解。 展开
展开全部
检查一下你的数据库数据库连接字符串中的数据库路径是不是被固定化了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-06
展开全部
System.Data.Sqlite.dll有两个版本,一个是64位的,一个是32位的。首先你要确保引用的DLL文件正确,如果是在32位操作系统中引用的是64为的DLL则会出错。如果没有DLL,请到这个网站下载:http://sqlite.phxsoftware.com/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你能把你读取数据库的代码贴出来嘛?我帮你看看。把敏感信息替换掉。
数据库读写代码包括你的Using部分
数据库读写代码包括你的Using部分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发布的时候SQlite的驱动程序的dll带着了么?
就是那个Sqlite.Data.dll
就是那个Sqlite.Data.dll
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询