【问题标题】:Can't open .MDB or access files on a mapped network drive无法打开 .MDB 或访问映射网络驱动器上的文件
【发布时间】:2017-05-16 11:01:34
【问题描述】:

在映射的网络驱动器上打开 .mdb(访问 97)时遇到了一些问题。驱动没问题,我可以用net use看到它

如果我使用路径而不是网络驱动器 (\srv10\mdb) 打开文件,我可以正常打开文件。

我已经尝试用不同的用户创建驱动器(他们都有权限),但没有帮助。

如果我尝试在代码中打开它(比如 VB6),也会发生这种情况

Database path : P:\db.mdb doesn't work.
Database path : \\srv10\mdb\db.mdb works fine.

有人可以帮助我吗?以前可以使用网络驱动器,现在突然不行了。

【问题讨论】:

  • 为什么不使用 ODBC 连接?
  • 您遇到的具体错误是什么?您可以通过将 UNC 路径粘贴到 Access 本身来打开文件吗?
  • 每次我尝试从映射的驱动程序打开它时都会收到“找不到文件...*路径*”。当我在 Windows10 和 VB6 上使用完整路径(\\srv10\...)打开它时没问题。
  • 尝试使用“以管理员身份运行”选项运行 VB6,然后调试代码以检查是否仍然出现错误。

标签: ms-access vb6 network-drive


【解决方案1】:

这是由于代码执行的身份。您在自己的用户上下文中映射了驱动器,但运行脚本或 VB 代码的实际用户上下文是另一个(本地机器?),其中不存在相同的映射。

你可以

您在脚本解决方案中可能面临的一个困难是如何提供凭据 - in the SO answer to a similar question here 有一个很好的解释。

在链接中解释了注册表编辑,但要点是:

症状:在 Windows Vista 或 Windows 7 中打开用户帐户控制 (UAC) 后,程序可能无法访问某些网络位置。当您使用命令提示符访问网络位置时,也可能会出现此问题。

原因: 出现此问题是因为 UAC 将 Administrators 组的成员视为标准用户。因此,由登录脚本映射的网络共享与标准用户访问令牌共享,而不是与完整的管理员访问令牌共享。

解决方案:要解决此问题,请配置EnableLinkedConnections 注册表值。此值使 Windows Vista 和 Windows 7 能够在过滤的访问令牌和管理员组成员的完整管理员访问令牌之间共享网络连接。 [然后给出一个reg编辑过程]

我知道这不是一个完美的外卖答案,但目前你没有提供足够的细节来给出答案,所以我希望这能为你指明前进的方向。

[在 OP 发布 reg 编辑解决方案后为完整性进行了编辑]。

【讨论】:

  • 不要使用那个注册表黑客。最好为每个需要它的配置文件映射驱动器号或使用 UNC 路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2021-11-05
相关资源
最近更新 更多