带有MS访问数据库作为后端的VB.NET如何通过将数据库文件放入AppData文件夹进行部署?

Posted

技术标签:

【中文标题】带有MS访问数据库作为后端的VB.NET如何通过将数据库文件放入AppData文件夹进行部署?【英文标题】:VB.NET with MS access Database as backend how to deploy by putting Database file to AppData Folder? 【发布时间】:2015-06-26 10:21:36 【问题描述】:

我已经使用 MS access DB 作为后端开发了 VB.NET 应用程序,在开发和测试中我一直在使用这个连接字符串

 Dim connect_string As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\data.accdb"

作为部署到客户端机器,数据库必须在程序文件之外,那么我如何通过将数据库与程序文件分开来部署这个应用程序。 ?

【问题讨论】:

使用和安装程序将文件复制到Users... 然后您可以使用Environment.GetFolderPath() 在代码中轻松找到相同的位置。您也可以将文件复制到代码中的该位置作为First Time Run 类型任务 @Plutonix,怎么做。 【参考方案1】:

你使用

Environment.GetFolderPath(Environment.SpecialFolder.XXXX)

找到一个合适的根目录,并添加类似YourCompanyName\YourApplicationName 的内容。对于 XXXX,您可以使用 ApplicationDataLocalApplicationDataCommonApplicationData,具体取决于您的要求(参见此处)。或者您让您的用户配置本地或网络路径,例如在配置文件中。

“初始数据库”如何到达那里取决于您的程序。例如,您可以测试在所需位置是否有数据库文件,如果没有,则将空模板 MDB 复制到文件夹中。模板 DB 可以位于程序的安装目录中,也可以嵌入到 exe 文件的资源中,或者您使用 DAO 或 ADO“即时”创建它(不知道 ADO.NET 是否可能)。

【讨论】:

以上是关于带有MS访问数据库作为后端的VB.NET如何通过将数据库文件放入AppData文件夹进行部署?的主要内容,如果未能解决你的问题,请参考以下文章

我无法从 VB.net 的 MS 访问数据库中删除一行

使用 vb.net 2010 锁定后端访问数据库中的表

如何将颜色格式应用于 Richtextbox *作为用户类型*(VB.Net)

VB.Net 使用创建表查询将 MS Access 表中的 AllowZeroLength 属性设置为否

如何在 vb.net 中打印带有标题的 datagridview 表?

更新查询在带有 MS Access 的 VB.NET 中不起作用