2009-11-25 184 views
0

我需要打開到遠程訪問數據庫的連接。 在本地環境中遠程的acess db工作得很好。 當我運行從生產服務器(其他服務器),這個應用程序是失敗的消息連接通過c#訪問#

「 它已經被其他用戶以獨佔方式打開,或者您需要權限來查看其數據 。」

我的代碼:

conString = 
     @"Provider=Microsoft.JET.OLEDB.4.0;" 
    + @"data source=" \\150.248.248.38\d$\TestApp\vending.mdb;Jet OLEDB:Database Password=1234;"; 

     OleDbConnection connAccess = new OleDbConnection(conString); 


    try 
    { 

     connAccess.Open(); 

     objDiningRoom.Connection = connAccess; 

     .... 
    } 
    catch (Exception ex) 
    { 


    } 
    finally 
    { 
     connAccess.Close(); 
     connAccess.Dispose(); 
    } 

*它不是在其他地方 感謝

+0

你有這個其他接入服務器?如果您在START |中輸入「\\ 150.248.248.38 \ d $ \ TestApp \」運行並單擊確定,是否打開顯示目標文件夾的資源管理器窗口?如果是這樣,你可以右鍵單擊並創建一個新的文本文件?如果沒有,您有權限問題。我肯定會建議不要使用管理員共享來訪問 - 非管理員用戶永遠不會訪問那個,只有管理員。 – 2009-11-26 04:22:27

回答

0

這看起來是一個權限問題打開。 請確保您提供IUSR帳戶(或ASP.NET運行的任何帳戶)對您的數據庫的讀/寫權限。

0

你可以試試:here 從那裏複製:

  • 當您的數據庫文件被其他應用程序(通常MS
    接入)開通專門
    常見。關閉所有
    使用此數據庫並重試的應用程序。
  • 如果正在使用的Internet信息
    服務器(IIS),(通常是IUSR)帳戶可能會出現此錯誤,不
    沒有正確的Windows NT
    權限基於文件的數據庫 或文件夾包含
    文件。
  • 檢查文件和文件夾的權限。確保你有 有能力創建和/或 銷燬任何臨時文件。 通常在與數據庫 相同的文件夾中創建臨時文件 ,但該文件也可能在 其他文件夾(例如/ Winnt)中創建。如果您使用 數據庫(UNC或映射驅動器) 的網絡路徑,請檢查共享上的權限, 文件和文件夾。
  • 檢查以確保文件和數據源名稱(DSN) 未標記爲「獨佔」。
  • 簡化。使用使用本地驅動器號的系統DSN。如果需要測試
    ,則將 數據庫移動到本地驅動器。
  • 「其他用戶」可能是Visual InterDev。關閉包含數據連接到數據庫的數據
    的任何Visual InterDev
    項目。訪問本地的Microsoft Access
    數據庫鏈接到一個表,其中
    表在
    網絡服務器上的Access數據庫時,也可能會出現
  • 此錯誤。在這種情況下,
    請參考下面的文章 Microsoft知識庫中的 解決方法:Q189408 PRB:ASP無法 訪問網絡文件在IIS 4.0