无法在程序内打开sqlite数据库文件

时间:2017-12-01 00:37:29

标签: c# sqlite

我正在尝试运行我制作的程序(通过Advanced Installer创建安装程序),但它一直说它无法打开数据库(sqlite)文件。我已经检查了路径并且我认为它们匹配,因为它在Visual Studio中运行得很好。 App.config连接字符串是:

<connectionStrings>
   <add name="db" connectionString="Data Source=qbc-members.sqlite;Version=3;" />
</connectionStrings>

以下是项目目录中位置的屏幕截图:

enter image description here

以下是实际的异常消息:

enter image description here

就像我说的,它在Visual Studio内部调试时按预期运行。当我检查程序的安装位置(C:\ Program Files(x86)\ user \ qbc)时,它会在目录中显示带有实际.exe文件的sqlite数据库文件。所以我真的很困惑为什么它找不到文件(因为我试着查找答案和我认为相关的答案是它无法找到文件)。这是一个截图以及实际的程序目录(一旦安装)。

enter image description here

如您所见,文件就在那里。关于它为什么抛出这个例外的任何想法?

任何帮助都将不胜感激。

谢谢!

(对不起,如果我的问题不清楚,请告诉我,如果需要,我会尝试添加更多信息)。

1 个答案:

答案 0 :(得分:2)

问题很可能是应用程序没有对C:\Program Files (x86)\user\qbc目录的写访问权。这是必需的,因为SQLite在带有数据库文件的目录中创建了一个锁文件。

为启动应用程序的用户设置目录写入权限,并解决问题。