2012-02-03 8 views
2

我有一個窗口應用程序,它試圖連接一個MS Access文件,該文件已被其他應用程序使用。 當我停止該應用程序,然後我能夠連接MS Access文件。 如下否則會出現錯誤:連接MS Access,而另一個應用程序使用相同的MS Acess文件

 

OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "AccessDb" returned message "Cannot start your application.
The workgroup information file is missing or opened exclusively by another user.

有,我可以打開以只讀模式連接的任何方式。 我不得不從該文件中讀取數據。

謝謝。

+1

我遇到了這個問題一次,發現有沒有辦法解決。 問題可能是訪問文件中訪問的已打開應用程序獨佔訪問。 您可以參考此鏈接:http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/31f75deb-ed3f-40e8-8084-ce51343b05cf – Thinhbk 2012-02-03 09:37:20

回答

5

嘗試增加「模式=共享拒絕無」這個應用程序被鎖定數據庫的連接字符串,使連接字符串看起來像

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyFolder\MyDb.mdb;Persist Security Info=False;Jet OLEDB:Database Password=My_Password;Mode= Share Deny None 

此連接字符串應該由應用程序使用的是目前正以獨佔模式打開數據庫。

+0

另一個異常說:Microsoft Office Access數據庫引擎無法打開或寫入文件'\\ 172.16.24.37 \ ACServer \ ACCESS.mdb'。它已經由另一個用戶專門打開,或者您需要查看和寫入其數據的權限。我的連接字符串是 2012-02-03 08:44:53

+2

您的連接字符串是好的,問題是該文件已被另一個應用程序以獨佔模式打開:是這個其他應用程序導致的問題,這是其他應用程序這需要修復。如果其他應用程序以獨佔模式打開數據庫,則無法打開數據庫,並且無法執行此操作。有人需要更改另一個應用程序,使其以共享模式打開數據庫,而不是獨佔模式。 – Max 2012-02-03 09:48:03

+0

不需要'Mode = Share Deny None'部分。只需'Jet OLEDB:數據庫密碼= My_Password'就足夠了 – 2015-08-01 07:27:44

0

我正面臨類似的問題,現在就解決了。 在連接字符串ü可能已經提供 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=;

不提供密碼,而是同時在高級共享文件共享點擊刪除管理員用戶和具有完全控制添加的每一個人。 然後運行您的應用程序