Vb.net 如何使用应用程序复制access数据库文件?
在我的Visual Basic应用程序中,我使用了一个access数据库文件。它显示在解决方案资源管理器窗口中。在我安装之前,一切都很好。由于某些原因,数据库文件与安装不匹配。我想我需要在运行时编辑连接字符串,但我不确定。我以前没有做过类似的事情,我也找不到关于它的信息 如果有人能给我发一个教程,或者在安装应用程序后简要解释如何使用access数据库 当我的程序运行时,它会在Vb.net 如何使用应用程序复制access数据库文件?,vb.net,visual-studio,ms-access,clickonce,Vb.net,Visual Studio,Ms Access,Clickonce,在我的Visual Basic应用程序中,我使用了一个access数据库文件。它显示在解决方案资源管理器窗口中。在我安装之前,一切都很好。由于某些原因,数据库文件与安装不匹配。我想我需要在运行时编辑连接字符串,但我不确定。我以前没有做过类似的事情,我也找不到关于它的信息 如果有人能给我发一个教程,或者在安装应用程序后简要解释如何使用access数据库 当我的程序运行时,它会在 User\App Data\Roaming\CreatedFolder\Resources\DatabaseFile.a
User\App Data\Roaming\CreatedFolder\Resources\DatabaseFile.accdb
那么,在不知道应用程序数据的完整路径的情况下,如何设置此路径?您可以使用
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
或
Environment.GetEnvironmentVariable(“APPDATA”)
它们都应该返回类似于
C:\Users\Gord\AppData\Roaming
因此,您可以按如下方式构建连接字符串:
Dim dbPath=_
GetFolderPath(Environment.SpecialFolder.ApplicationData)和_
“\CreatedFolder\Resources\DatabaseFile.accdb”
Dim connStr As String=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=”&dbPath
我这样做的方式是:
选择数据连接
页面中,单击新建连接
|DataDirectory |
的连接字符串。根据需要修改此页面的内容 <connectionStrings>
<add name="SOAccessDatabase.My.MySettings.Students_2000formatConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Students_2000format.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
我还将数据库文件的构建操作设置为“始终复制”。当我将其保留为| DataDirectory |时,可能会遇到重复的问题,它会在AppData的本地文件夹中创建一个文件夹,并且由于某些原因不会将数据库复制到该文件夹中。我总是会出错。这就是我安装和运行时发生的情况….'C:\Users\Neil\AppData\Local\Apps\2.0\Data\KBBE6L8Y.4H8\2X1QXHV5.A2H\gulb..tion_20d7bfc1bd30efa8_0001.0000_dbc5cc6b3df538bc\Data\Resources\TML.accdb'不是有效路径。请确保路径名拼写正确,并且您已连接到文件所在的服务器。@xRuhRohx,查看编辑,看看是否有帮助。此应用程序访问数据的方式与现在配置的一样。希望这有帮助。我们的连接字符串非常相似,我想我发现了为什么它对我不起作用。现在我正在安装一个单击一次的应用程序。这也没有改变任何事情。我认为我使用数据库做了一些好事,但这太令人头痛了。当我尝试将其添加到连接字符串时,我会出错。我使用向导设置了数据库连接,那么在运行时如何更改连接字符串?@xRuhRohx可能
my.Settings.Item(“DatabaseFileConnectionString”)=connStr
可能会这样做。检查“项目属性”页面中的“设置”选项卡以确认设置的名称。好的,我将试一试。好的,成功了,非常感谢。在运行时编辑连接字符串是否安全?