在使用相同MS Access文件的另一个应用程序时连接MS Access

时间:2012-02-03 07:47:57

标签: c# ms-access ado.net

我有一个窗口应用程序,它试图连接一个MS Access文件,该文件已经准备好被另一个应用程序使用。 当我停止该应用程序,然后我能够连接MS Access文件。 否则会发生如下错误:


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.

有没有办法可以在只读模式下打开连接。 我必须从该文件中读取数据。

感谢。

2 个答案:

答案 0 :(得分:5)

尝试将“Mode = Share Deny None”添加到锁定数据库的此应用程序的连接字符串中,以便连接字符串看起来像

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

此连接字符串应由当前以独占模式打开数据库的应用程序使用。

答案 1 :(得分:0)

我遇到了类似的问题,现在已经解决了。 在你可能提供的连接字符串中 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=;

  

不提供密码,而是在共享文件时单击高级共享并删除管理员用户并添加完全控制的所有人。   然后运行你的应用程序