C#.net->;SQLite错误:无法打开数据库文件

C#.net->;SQLite错误:无法打开数据库文件,c#,.net,sqlite,system.data.sqlite,C#,.net,Sqlite,System.data.sqlite,当我试图在“第一次”打开程序时访问数据库以保存记录时,我得到“System.Data.SQLite.SQLiteException:无法打开数据库文件” 事情是这样的,当在VisualStudio中进行本地调试时,它可以正常工作,但当我将程序打包到安装程序中,然后将程序安装到某个地方时,它就会停止工作 我猜它是数据库的位置,我只是在database.s3db中设置了它,没有路径,因为它存储在程序的exe旁边,但是这怎么会导致问题呢 我不知所措,如果您有任何进一步的想法或建议来解决此问题,我将不胜

当我试图在“第一次”打开程序时访问数据库以保存记录时,我得到“System.Data.SQLite.SQLiteException:无法打开数据库文件”

事情是这样的,当在VisualStudio中进行本地调试时,它可以正常工作,但当我将程序打包到安装程序中,然后将程序安装到某个地方时,它就会停止工作

我猜它是数据库的位置,我只是在database.s3db中设置了它,没有路径,因为它存储在程序的exe旁边,但是这怎么会导致问题呢


我不知所措,如果您有任何进一步的想法或建议来解决此问题,我将不胜感激。

可能您正在将程序安装在一个用户没有写入权限的文件夹中,因此无法修改数据库文件。

请更新您的数据源格式,如下所示:

@“C:\Users\Mehmeto\Documents\Visual Studio 2015\Projects\..\bin\myDB.sqlite”


目录指向项目所在的位置。

正是它。为什么程序文件有不能修改的地方?大多数程序不都修改自己的文件吗?@CODe,不,从Windows Vista开始,只有管理员对“程序文件”文件夹具有写入权限。您必须使用相应的
c:\users\AccountName
文件夹来存储特定于用户的文件。`ProgramFiles为什么有不能修改的位置?`安装itself@CODe:我强烈反对-这实际上是微软在Vista及其后续版本中为数不多的几件事之一。从永远以来,类UNIX系统一直允许普通用户在默认情况下只对其主目录进行写访问,这是一件好事。它可以防止恶意软件做坏事,防止哑用户做蠢事。如果要在系统的所有用户之间共享数据库,可以将其放在“所有用户”应用程序数据文件夹中。