我正在尝试运行我制作的程序(通过Advanced Installer创建安装程序),但它一直说它无法打开数据库(sqlite)文件。我已经检查了路径并且我认为它们匹配,因为它在Visual Studio中运行得很好。 App.config连接字符串是:
<connectionStrings>
<add name="db" connectionString="Data Source=qbc-members.sqlite;Version=3;" />
</connectionStrings>
以下是项目目录中位置的屏幕截图:
以下是实际的异常消息:
就像我说的,它在Visual Studio内部调试时按预期运行。当我检查程序的安装位置(C:\ Program Files(x86)\ user \ qbc)时,它会在目录中显示带有实际.exe文件的sqlite数据库文件。所以我真的很困惑为什么它找不到文件(因为我试着查找答案和我认为相关的答案是它无法找到文件)。这是一个截图以及实际的程序目录(一旦安装)。
如您所见,文件就在那里。关于它为什么抛出这个例外的任何想法?
任何帮助都将不胜感激。
谢谢!
(对不起,如果我的问题不清楚,请告诉我,如果需要,我会尝试添加更多信息)。
答案 0 :(得分:2)
问题很可能是应用程序没有对C:\Program Files (x86)\user\qbc
目录的写访问权。这是必需的,因为SQLite在带有数据库文件的目录中创建了一个锁文件。
为启动应用程序的用户设置目录写入权限,并解决问题。