我有一个 WinForms 应用程序,我已经接管了它的支持,它是使用 Visual Studio 2005 和 VB.Net 构建的。该应用程序使用 Access 数据库。当它作为独立应用程序安装时运行良好,但应用程序的安装 CD 也允许网络安装,这是我目前遇到问题的地方。
为了测试网络安装,我在服务器 (Windows Server 2003 SP2) 上创建了一个文件夹,并将 Access 数据库复制到该文件夹中。我为这个文件夹创建了一个共享,并授予每个人对该共享的完全权限。然后在工作站上我安装了应用程序并给出了数据库的路径,如下所示:
\\myserver\myshare\mydb.mdb
(这里的安装步骤是按照安装光盘上给出的说明进行的)
我安装它的工作站是 Windows 7 Ultimate。当我运行应用程序时,当应用程序尝试读取数据库文件时,我收到标题中给出的错误消息。我已经确认我可以写入服务器上的共享文件夹,所以我认为这不是权限问题。另外,数据库文件根本没有被使用,所以肯定不是独占打开的。任何人都知道是什么导致了这种情况,我可以尝试做些什么来让它工作?
更新:
我已经在一台全新安装 Windows XP SP3 的计算机上测试了工作站安装,它能够毫无问题地 Access 数据库文件。因此,我收到的这个错误似乎在某种程度上特定于 Windows 7。Windows 7 上的 Oledb 驱动程序是否存在已知问题?我的 Windows 7 版本是 32 位的。
最佳答案
可能有很多事情,所以很难给出一个准确的答案。 然而,我有一段时间遇到了类似的问题,我写了一篇我不想在这里重复的帖子:
如果底层问题相同(即使在我的情况下它是一个 ASP.NET 应用程序),也许它会有所帮助。如果不是,它至少会提升进程监视器(如果您还不知道的话)。
关于.net - microsoft jet 数据库无法打开文件 '...' 它已经被另一个用户以独占方式打开或者您需要权限才能查看其数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275410/