2011-11-14 29 views
0

訪問Access數據庫的C#錯誤這裏是我的連接字符串:超過LAN

sConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\" + lstNet.SelectedItem.ToString() + "\SharedDocs\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;"; 

lstNet是包含在網絡中找到的所有計算機列表框。

我假設我的連接字符串有其他錯誤。

根據連接字符串的網站,超過LAN訪問數據庫,下面的連接字符串格式用於:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=; 

我假設共享名是我的連接字符串失敗。什麼是shareName?如果我將我的數據庫放入共享文檔/公用文件中,Windows XP和Windows Vista/7的共享名稱是什麼?

我試圖修改我的連接字符串爲以下:

\C$\Users\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;"; 

我仍然得到以下錯誤:

「初始化字符串的格式不符合規範」

請給我一些幫助嗎?

編輯:試圖訪問我的網絡具有以下連接字符串中的Windows Vista PC的公共\ Documents部分數據庫:

\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;"; 

我也試圖訪問我自己(的Windows 7 PC)本地Public \ Documents部分使用相同的連接字符串,因爲可以使用該程序更改serverName。

還沒有。

回答

0

好吧,其實我解決了這個問題。哇。

原來,有一個額外的「在連接字符串的.ini文件的最後一刻。

1

試試這個:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\serverName\shareName\folder\myDatabase.mdb; Jet OLEDB:Database Password=g3n3r4l;Persist Security Info=False;" 

你必須需要先進行測試,如果你可以在客戶端P.C.訪問共享文件夾的路徑如果可以訪問它,則不會有任何問題。請確保客戶端用戶是管理員,以便它可以使用您的應用執行CRUD操作。

問候

+0

在客戶端PC?我可以在服務器和客戶端都可以訪問共享路徑文件夾,我添加了「Persist Security」,但是很抱歉地說它不起作用 我仍然認爲它與這個問題有關shareName。我只是不知道它是什麼,研究它讓我想出了一些代碼,所以我很確定它不是一個文件夾(c $,winnt,類似的東西)。 –

0

//試試這個...

 string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\PIS(ACU).mdb;"; 
     Con = new OleDbConnection(@constr); 
     Con.Open(); 
     Com = new OleDbCommand(); 
     Com.Connection = Con;