如何使用c#获取当前工作路径accessdb?

时间:2016-10-10 17:20:45

标签: c# ms-access

例如,我有一个连接字符串

connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; 
              Data Source=D:\WindowsFormsApplication4\bin\Debug\some.mdb"); 

但它只能在我的电脑上正常工作。如何在所有计算机上使其正常工作?

3 个答案:

答案 0 :(得分:0)

您可以使用

string myconnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\\\" + PCName + "\\datafolder\\some.mdb";

指定PCNAME

如果仍然存在问题,请将该数据库共享文件夹指定为映射驱动器并使用类似的方法。例如,映射的驱动器是Z:(\ PCName \ ApplicationFolder)

有关详细信息,请参阅链接:Connecting to a database on a LAN network location

答案 1 :(得分:0)

违规代码如下:

Data Source=D:\WindowsFormsApplication4\bin\Debug\some.mdb"

基本上,您将连接字符串硬编码到计算机上的某个位置。使用“\ bin \ Debug”特别成问题,因为它几乎肯定与实际生产环境中的路径不同。

如果可能,我建议将其放入某种配置文件中。

答案 2 :(得分:0)

始终从这里开始。

https://www.connectionstrings.com/

在你的情况下,我认为它应该是这样的。

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False;