您好我开发了一个使用Access数据库的简单应用程序。在我的应用程序中,数据库的提供程序和数据文件路径是
Dim provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Dim dataFile As String = "C:\Users\blanca\Desktop\Serna Impresos 2016\Serna Impresos 2016\Serna Impresos 2016\bin\Debug\SIDB.accdb"
Dim connString As String = provider & dataFile
我知道每当我在另一台计算机上下载安装文件时,它都无法工作,因为我使用了显式路径定义[C:..... \ file.accdb],它引用了我自己的本地文件。 如何使用工作目录路径?我应该使用什么路径在不同的计算机上工作(不是用于开发的计算机)
错误信息是这个...... clic for image
更改了此内容仍然无法正常工作
Dim provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Dim dataFile As String = "\SIDB.accdb"
Dim startup As String = Application.StartupPath
Dim connString As String = provider & startup & dataFile
答案 0 :(得分:0)
首先,您不希望您的数据库位于您的应用程序目录中。具有较低级别权限的用户将无法获得对其的写入权限,并且您将试图弄清楚为什么不同的用户最终会得到不同的数据,直到您了解某些版本的Windows具有"特技"当您没有管理员权限时,会为每个用户创建单独的文件副本。
首先确定数据库是否应该对所有用户都相同,或者每个用户是否应该拥有自己的副本。
如果他们应该拥有自己的副本,那么AppData文件夹
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
是您想要放置数据库的地方。
如果它们都应该使用单个副本,那么您需要将路径设置为应用程序设置,并使其成为安装过程的一部分,以便暂存数据库并找到该路径。