Microsoft Jet数据库无法打开文件“…”已被其他用户独占打开,或者需要查看其数据的权限

我有一个WinForms应用程序,我已经接pipe了支持,它是使用Visual Studio 2005与VB.Net构build的。 该应用程序使用Access数据库。 它作为一个独立的应用程序安装时运行良好,但应用程序的安装光盘也允许networking安装,这是我目前遇到的问题。

为了testingnetworking安装,我在我的服务器(Windows Server 2003 SP2)上创build了一个文件夹,并将Access数据库复制到此文件夹中。 我为这个文件夹创build了一个共享,并给每个人完全的权限。 然后在工作站上,我安装了应用程序,并将path指向数据库,如下所示:

\\ MYSERVER \ myshare的\ MYDB.MDB

(这里的安装步骤按照安装光盘上的说明进行安装)

我安装的工作站是Windows 7旗舰版。 当我运行该应用程序时,当应用程序尝试读取数据库文件时,会收到标题中给出的错误消息。 我已经确认,我可以写入服务器上的共享文件夹,所以我不认为这是一个权限问题。 此外,数据库文件根本没有被使用,所以绝对不是专门打开的。 任何人有任何想法是什么可能导致这个,我可以尝试做什么来得到它的工作?

更新:

我已经使用全新安装的Windows XP SP3testing了计算机上的工作站安装,并且可以毫无问题地访问数据库文件。 所以,我得到的这个错误似乎是特定于Windows 7的。在Windows 7上,Oledb驱动程序可能存在已知问题吗? 我的Windows 7版本,顺便说一句,是32位。

可能有这么多的东西,所以很难给出准确的答案。 不过,我有一个类似的问题,而且我写了一篇文章,我不想在这里复制:

http://walkinghumble.wordpress.com/2009/02/20/cannot-connect-to-an-access-mdb-file-located-on-the-network-through-oledb/

也许这将有助于如果底层的问题是相同的(即使在我的情况下,这是一个ASP.NET应用程序)。 如果没有,至少会促进进程监视器,如果你还不知道。

如果没有“Microsoft ADO Ext 2.8 for DDL and Security”COM项目参考设置,Jet 4.0将无法打开Access文件。 要检查引用的状态,请执行:Project – > References – > COM。

其他重要的参考资料,使这项工作是:

“Microsoft ADO Data Control 6.0(OLEDB)”COM参考

“Microsoft Access 14.0对象库”COM参考

有时Access在你自己的机器上有一个未处理的MS Access进程时报告这个错误。 检查任务管理器的进程列表(而不是应用程序)。

尝试运行这些东西…

  1. 这些计算机在域上吗? 如果是这样的Win 7框加入到域?
  2. 您是否在服务器上登录时设置了权限?还是您在另一台机器上设置了共享权限? 设置服务器本身的权限。
  3. 从Win 7框中 – 验证您可以打开2003服务器上的共享,并更改访问文件的名称(就像测试一样 – 当然要更改它)。
  4. 你赢得7盒安装Access? 如果是这样 – 请参阅是否可以访问共享并使用访问来打开.mdb。