如何使用映射的网络驱动器通过数据源 (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 数据库?的主要内容,如果未能解决你的问题,请参考以下文章