文章中的信息适用于: Microsoft Data Access Components versions 1.5, 2.0, 2.1, 2.5 Active Server Pages Microsoft Visual InterDev, version 1.0 ---------------------------------------------------------------------------- 概要 本文详细讲述了 Microsoft 数据访问组件 (MDAC) 收到 0x800040005 错误的一些常见原因,MDAC 包括 ActiveX 数据对象、OLE DB 和远程数据服务 (RDS)。 同时,本文还讨论了其它一些错误消息,包括 80040e21、80040e14 和80040e10。
更多信息 80004005 错误消息可归纳为:“出于某种原因,我无法访问您的数据”。 本文给出了各种 80004005 错误消息的列表、其中列举了这些错误消息的最常见起因及其疑难解答步骤。 虽然本文假定您是在 Active Server Page (ASP) 页面(.asp) 中使用 ActiveX 数据对象 (ADO),但这些起因和很多疑难解答步骤同样适用于任何其它通过 ODBC 访问数据的环境。
错误消息列表 这一节我们介绍了各种错误消息的文本,以及导致错误的原因。
错误消息 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.
原因 该错误的发生,通常是因为 Internet Information Server (IIS) 所使用的帐户(通常是 IUSR)没有正确的 Windows NT 权限,因而无法访问基于文件的数据库或包含文件的文件夹。请检查这些文件和文件夹的权限设置。 确认您能够创建和/或删除任何临时文件。 临时 文件一般都创建在与数据库相同的文件夹下,但也可以创建在其它文件夹下,如 /Winnt。您可以使用 Windows NT 文件监视器来检查访问文件失败的原因。 Windows NT 文件监视器可从以下 Web 站点上得到:
当访问链接到某个表的 Microsoft Access 数据库时,如果这一表处在网络服务器上的Access 数据库中,这一错误也有可能发生。 这种情况下,请参见以下 Microsoft Knowledge Base 文章以找到可行的解决方法:
Q189408 PRB: ASP 无法访问 IIS 4.0 下的网络文件 错误消息Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file already in use.
原因 数据库无法正确地为多个用户锁定。 详细信息请参见以下 Microsoft Knowledge Base文章:
Q174943 PRB: 80004005“Couldn't Use '(unknown)';File Already in Use”
错误消息 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.