0

我在我的系统上创建了一个网络驱动器并将其映射到 Z:驱动器号。

只是为了解释这个问题,我在 MFC 中创建了一个简单的程序,用于访问 Windows7 机器上的 MS access 2007 数据库。

CString MyCRecordSet::GetDefaultConnect()函数内部,我将其用作连接字符串。

ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};DSN='';DBQ=Z:\TestFolder\Database1.mdb

如果我正常运行应用程序,一切正常。但是当以“以管理员身份运行”身份运行应用程序时,我收到以下错误。

在此处输入图像描述

另外,如果我尝试使用

_access("Z:\TestFolder\Database1.mdb", 模式)

api ,那么对于 00、02、04 或 06 的任何模式,此 api 始终返回 -1。

我认为这与 Windows 中用于访问网络驱动器的安全性有关,但不知道究竟是什么问题以及如何处理这种情况。

4

1 回答 1

1

如果您将 Z 驱动器映射为非管理员,则在以管理员身份运行时将看不到它。

尝试打开一个提升的 cmd 窗口(即以管理员身份运行 cmd),将您的 Z 驱动器映射到那里,然后尝试再次运行您的应用程序。

编辑

从命令行共享驱动器:

net use [driveletter]: \\server\share /user:[username] password 
于 2013-03-13T16:13:24.593 回答