【问题标题】:Unable to open sqlite database file inside program无法在程序中打开 sqlite 数据库文件
【发布时间】:2018-05-15 01:25:25
【问题描述】:

我正在尝试运行我制作的程序(通过 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 数据库文件。所以我真的很困惑为什么它找不到文件(当我尝试查找答案时,我认为相关的答案是它找不到文件)。这是实际程序目录的屏幕截图(安装后)。

如您所见,文件就在那里。关于为什么抛出此异常的任何想法?

任何帮助将不胜感激。

谢谢!

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

【问题讨论】:

    标签: c# sqlite


    【解决方案1】:

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

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

    【讨论】:

    • 不错!我授予了数据库文件所需的所有权限,但完全忽略了它需要创建另一个文件这一事实
    猜你喜欢
    • 2014-11-11
    • 2014-08-30
    • 1970-01-01
    • 2021-10-15
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多