【发布时间】:2013-05-18 18:17:06
【问题描述】:
我在 Visual Studio 中使用 VB 开发了一个连接到 .db 数据库的程序。 当我调试它时,它工作正常,因为我计算机上的数据库未设置为只读(我通过右键单击文件并转到属性进行检查)。
我使用标准的 Visual Studio 设置项目来构建它,并且设置项目中数据库的只读属性设置为 false。 但是,当我构建项目并将其安装在另一台机器上时,数据库以某种方式设置为只读,并且出现错误“尝试编写只读数据库”
有人知道我将如何解决这个问题吗? 谢谢
编辑:嗯,我刚刚检查了数据库和其他程序文件添加到的文件夹被标记为“只读(仅适用于文件夹中的文件)”。因此,虽然数据库未标记为只读,但文件夹是。也许是因为它在程序文件夹中?
【问题讨论】:
-
您的应用程序是安装在 c:\program files 还是 c:\program files (x86) 并且您的数据库在同一个文件夹中?
-
安装到 c:\program files 的程序和数据库在同一个文件夹中,我认为这是问题所在。我一直在网上阅读,数据库应该在 AppData 文件夹中还是类似的地方?
-
是的,问题出在此文件夹中。因为操作系统不允许在那里写文件。您可以更改数据库文件的位置。我会给你一个可能的解决方案作为答案
-
当我在设置中添加一个文件夹时,我右键单击文件系统位,唯一的选项是“添加一个特殊文件夹”,它为我提供了一长串不同类型的文件夹,我可以从中选择,你知道我应该选择哪种类型吗?
-
OK,选择
Custom Folder,然后将属性 DefaultLocation 设置为自定义字符串 [CommonAppDataFolder]。我会在答案中更好地解释
标签: database visual-studio-2010 visual-studio sqlite installation