2016-10-10 51 views
-4

例如,我有一個連接字符串如何使用c#獲取accessdb的當前工作路徑?

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

,但它工作正常只是我的電腦上。我怎樣才能使它在所有電腦上正常工作?

+0

不清的問題,更說明你的問題 –

+0

例如,我有一個connectiob字符串連接=新的OleDbConnection(@「供應商= Microsoft.Jet.OLEDB.4.0;數據源= d:\ WindowsFormsApplication4 \ BIN \調試\ some.mdb「); 但它工作正確,只有在我的電腦上,我如何才能使它在所有電腦上正常工作? – OlyaBu

+1

請使用您問題上的編輯鏈接添加其他信息 – Marusyk

回答

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

0

有問題的代碼如下:

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

基本上,你將連接字符串硬編碼到計算機上的某個位置。使用「\ bin \ Debug」特別有問題,因爲這與幾乎肯定是不同於實際生產環境中的路徑。

如果可能的話,我建議把它放在某種配置文件中。

0

總是從這裏開始。

https://www.connectionstrings.com/

在你的情況,我想應該是這樣的。

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