如何使用映射的网络驱动器通过数据源 (ODBC) 连接到 Access 数据库?

Posted

技术标签:

【中文标题】如何使用映射的网络驱动器通过数据源 (ODBC) 连接到 Access 数据库?【英文标题】:How to connect to Access Database via Data Sources (ODBC) using a mapped network drive? 【发布时间】:2010-08-11 08:55:33 【问题描述】:

我需要连接到 Access 数据库。为此,我创建了一个系统 DSN。我使用本地文件成功建立了该连接。

但是,数据库必须位于远程服务器上,并且我映射了一个网络驱动器,以便可以访问数据库文件。映射驱动器并使用远程文件,当我尝试访问数据库时出现错误:

"[Microsoft][ODBC Microsoft Access Driver] 无法启动您的应用程序。工作组信息文件丢失或被其他用户以独占方式打开。 "

如果我使用本地机器中的数据库文件,则不会出现错误。但是从网络驱动器访问文件时,抛出异常。你知道为什么会这样吗?

谢谢....

【问题讨论】:

您使用的是映射驱动器还是 UNC 路径? 第二段不是说他正在使用映射驱动器吗? 您是否尝试过使用 UNC 路径(即驱动器映射到的位置)访问文件? 工作组文件是否在某处被显式调用,例如在您使用的快捷方式中?或者是否可能将 PC 上的默认工作组文件设置为不再定义的映射驱动器? 我也尝试使用 UNC 路径,但错误仍然存​​在。该文件没有被使用...我可以完全控制它。我认为这是一些身份验证问题,因为应用程序在 SYSTEM 用户上下文下运行......我一直在阅读一些有相同问题但使用 IIS 上下文的帖子,问题与 Kerberos 配置有关。 【参考方案1】:

这听起来很奇怪,但请在您的 Internet 选项中将您的 AD 域添加到您的可信站点。

因此,如果您的计算机是 ad.mycompany.com 的成员,请使用它。

两个人试图在网络驱动器上打开同一个 MDB,我也遇到过类似的情况。

【讨论】:

【参考方案2】:

我发现了问题。

调用我的代码的应用程序是在 SYSTEM 帐户下运行的 Windows 服务。此帐户无权访问服务器外部的文件。

系统管理员将创建一个特殊帐户,我需要将其用作服务登录帐户。

【讨论】:

以上是关于如何使用映射的网络驱动器通过数据源 (ODBC) 连接到 Access 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

ODBC 从 R 连接到网络驱动器上的 Access DB .accdb 文件

如何隐藏映射网络驱动器??请教一下

创建数据库时如何指定 ODBC 访问驱动程序格式

win8如何设置映射网络驱动器

如何实现映射的网络驱动器自动连接

如何使用 ODBC 驱动程序从 C# 调用 Progress Openedge .p 文件?