【发布时间】:2011-11-08 16:16:39
【问题描述】:
我有一个我已经接管支持的 WinForms 应用程序,它是使用带有 VB.Net 的 Visual Studio 2005 构建的。该应用程序使用 Access 数据库。当它作为独立应用程序安装时运行良好,但应用程序的安装 cd 也允许网络安装,这是我目前遇到问题的地方。
为了测试网络安装,我在服务器 (Windows Server 2003 SP2) 上创建了一个文件夹,并将 Access 数据库复制到此文件夹。我为此文件夹创建了一个共享,并为每个人提供了共享的完全权限。然后在工作站上我安装了应用程序并给出了数据库的路径如下:
\\myserver\myshare\mydb.mdb
(此处的安装步骤按照安装光盘上的说明进行)
我安装它的工作站是 Windows 7 Ultimate。当我运行应用程序时,当应用程序尝试读取数据库文件时,我会收到标题中给出的错误消息。我已经确认我可以写入服务器上的共享文件夹,所以我认为这不是权限问题。另外,数据库文件根本没有被使用,所以肯定不是独占打开的。任何人都知道可能是什么原因造成的,以及我可以尝试做些什么来使其正常工作?
更新:
我已经在一台全新安装了 Windows XP SP3 的计算机上测试了工作站安装,它能够毫无问题地访问数据库文件。因此,我得到的这个错误似乎是 Windows 7 特有的。Windows 7 上的 Oledb 驱动程序是否存在已知问题?我的 Windows 7 版本,顺便说一句是 32 位。
【问题讨论】:
-
您提到您正在授予对共享的访问权限。您是否也授予该文件夹的权限?您将需要在 DB 所在目录中创建文件的权限,以便它可以写入其锁定文件。
-
感谢您的评论,JohnJx。我只授予了共享(组 EVERYONE)的权限,这还不够吗?服务器上的哪个用户必须获得授予权限?
-
“\myserver\myshare\mydb.mdb”中真的只有一个反斜杠而不是两个前导反斜杠吗?这可能就是问题所在。
-
不,实际上有两个前导反斜杠;当我写问题时,我也输入了 2,但 stackoverflow 只显示 1。我认为 stackoverflow 将一个反斜杠视为转义字符。我会在我的问题中更正它,但我肯定会在应用程序中正确输入它。
-
共享权限不够。您需要共享和文件夹的权限。
标签: .net windows vb.net winforms ms-access