我希望我的用户无法看到我正在使用的MS Access * .accdb数据库。因此,我想将它嵌入到组件中。我该怎么做?
我的猜测是修改连接字符串。
使用导入向导自动建立与数据库的连接。连接字符串可以在文件Settings.Designer.vb
中找到,并且写成如下:
Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MyDatabase.accdb;" & "Persist Security Info=True")
有没有办法可以将Data Source=|DataDirectory|\MyDatabase.accdb
(最后一行,向右滚动)更改为其他内容?
我在how embed resources上发现了一篇文章,但它们似乎不适用于连接字符串。此外,似乎(至少在2008年)to access an MS Access Database, it had to be taken out of its embedded state。这会使我的程序中嵌入无用。
非常感谢任何帮助。
答案 0 :(得分:0)
我确认:如果目的是隐藏它,尝试将数据库嵌入到程序集中是没有意义的。
由于程序集是静态结构,因此无法更改位。因此,在使用数据库之前,必须先将 out 作为数据库的动态。
为了让我的用户不要看到我正在使用的数据库,我选择了将其复制到&AppData&
目录的解决方案。不是很安全(尽管有密码保护),但至少不是很明显。
看看这个answer,看看如何。