2017-01-02 86 views
0

我在映射网络驱动器上打开.mdb(访问97)时遇到了一些问题。驱动器是好的,我可以看到它net use无法打开.MDB或访问映射网络驱动器上的文件

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

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

这也发生,如果我尝试在代码中打开它(假设VB6)

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

有人能帮助我吗?它曾经与网络驱动器一起工作,现在突然没有了。

+0

为什么不使用ODBC连接? –

+0

你遇到什么确切的错误?你可以通过将UNC路径粘贴到Access本身来打开文件吗? –

+0

每次我尝试从映射的驱动程序打开它时,我都会收到“找不到文件... *路径*”。在Windows10和VB6上使用完整路径(\\ srv10 \ ...)打开它时没有任何问题。 – SilentRage47

回答

4

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

您可以

注册表编辑你的脚本解决方案面临着一个可能的难点是如何提供凭据 - 那里是in the SO answer to a similar question here的一个很好的解释。

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

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

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

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

我知道这是不是一个完美的外卖的答案,但此刻的你没有提供足够的细节来给一个,所以我希望这说明你前进的道路。

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

+0

不要使用该注册表黑客。最好为每个需要它的配置文件或使用UNC路径映射驱动器号。 – Bob77

相关问题