INFO:ASP 和 Microsoft 数据访问组件中 80004005 错误的疑难解答指南

概要
本文列出了各种 80004005 错误信息、导致错误信息的最常见原因以及解决问题的疑难解答步骤。收 到 80004005 错误的是 Active Server Pages 中的 Microsoft 数据访问组件 (MDAC),其中包 括 Microsoft ActiveX 数据对象 (ADO)、OLE DB 以及远程数据服务 (RDS)。虽然本文假定您是 在 Active Server Pages (ASP) 页中使用 ADO,但是导致错误的原因以及许多疑难解答步骤适用于任何使用 ODBC 进行数 据访问的环境。 
更多信息
错误信息列表
80004005 错误信息表示无法访问您的数据。此错误可以解释为“由于某种原因,我无 法访问您的数据”。这部分列出了最常见的错误信息的内容和原因。有关可能有助于确定错误原因的其他相关文章,请参见“参考”部分。虽然本文试图提供尽可能 多的信息,但可能还是有所遗漏。
错误信息

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.
原因
出现此信息的原因有多种。有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
306269 PRB:Error 80004005 “The Microsoft Jet Database Engine Cannot Open the File ‘(Unknown)'”

189408 FIX:ASP Fails to Access Network Files Under IIS 4.0 and IIS 5.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 知识库中的相应文章:
174943 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.
原因
此错误是比较常见的错误之一,有多种解决方案。有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
306345 PRB:ASP 错误 80004005“未找到数据源名称”

请确保安装了最新的驱动程序。可从以下 Microsoft Web 站点下载 MDAC 的最新版本:
http://msdn.microsoft.com/dataaccess

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC Driver Manager] Data source name not ??
原因
出现此错误的原因是,计算机上安装和卸载软件的顺序有问题。如果 ODBC 核心文件变得不同步(它们的版本应该都相同),您就可能会收到此错误。

要更新所有的核心 ODBC 驱动程序,请从以下 Microsoft Web 站点安装 MDAC 的最新版本:
http://msdn.microsoft.com/dataaccess

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open registry key ‘DriverId’.
原因
当 您从注册表中读取值时,会出现此错误。使用注册表编辑器 (Regedt32.exe) 检查注册表项的权限。还可以使用 Windows NT 注册表 监视器 (NTRegMon) 检查注册表读取失败。可以从以下 Sysinternals Web 站点下载 NTRegMon:
http://www.sysinternals.com

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因
导 致此错误的原因有两种,它们都与权限有关。当数据库驻留在非 Web 服务器的计算机上时,或者当您使用通用命名约定 (UNC) 路 径 (\\Server\Share) 引用数据库时,会出现此错误。即使数据库和 Web 服务器在同一台计算机上,当您使用 UNC 路径 时,Web 服务器也假定数据库驻留在网络上的不同计算机上。

有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
175671 PRB:80004005 ConnectionOpen (CreateFile()) Error Accessing SQL

有关委派、Microsoft Internet Information Server (IIS) 如何使用身份验证保护 Web 站点,以及诸如此类的问题的更多信息,请参考以下 Microsoft Web 站点:
Internet 开发人员的 IIS 身份验证和安全
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnauth/html/dnauth_security.asp

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
Microsoft][ODBC Microsoft SQL Driver] Logon Failed()
原因
如果 SQL Server 不接受或者不能识别提交的登录帐户和/或密码(如果您使用的是“标准”安全性),或者如果没有 Windows NT 帐户到 SQL 帐户的映射(如果您使用的是“集成”安全性),SQL Server 就会产生此错误。

有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
306586 PRB:ASP 中的错误 80004005“登录失败”的疑难解答

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User:Reason:Not defined as a valid user of a trusted SQL Server connection.
原因
出现此错误的原因是,SQL 企业管理器中打开了“集成”安全性,以及所用的 Windows NT 帐户没有映射为一个 SQL 帐户。要解决此问题,请使用以下方法之一:
配 置 SQL Server 以使用“标准”安全性。在 SQL 企业管理器中,右键单击“服务器”,然后单击 SQL Server。 在 SQL Server 属性对话框中,单击安全选项选项卡。在身份验证下,单击以选中 SQL Server 和 Windows,然后单击确定。
如果您是在 IIS 4.0 下运行,请清除此项目的密码同步复选框。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn’t lock file.
原因
有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
306441 PRB:Troubleshooting Error 80004005 “Couldn’t Lock File” in ASP

错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC Microsoft Access 97 Driver]
‘(unknown)’ isn’t a valid path.Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
原因
Web 服务器正在读取的路径不是有效路径。当使用 Global.asa 文件时,如果在一台非 Web 服务器的计算机上创建连接字符串,通常会出现此错误。如果路径是一个映射驱动器号,它可能仅对创建了连接字符串的客户端计算机有效。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC SQL Server Driver][SQL Server]
The query and the views in it exceed the limit of 16 tables.
原因
出现此错误的原因是查询过于复杂。对查询是有一些限制的。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC SQL Server Driver][DBNMPNTW]
ConnectionWrite (GetOverLappedResult()).
原因
当 您关闭允许匿名用户上下文时,当首次请求完成后,Windows NT 将关闭 SQL Server 的管道。这是因为首次连接 到 SQL Server 时用的是 IIS 匿名用户帐户。然后,IIS 或者模拟相同线程上的浏览器客户端,或者尝试访问在模拟用户上下文中运行的另 一个线程上的连接。不论何种情况,Windows NT 都会发现使用在别的用户上下文中打开的网络命名管道句柄的企图,并根据安全规则强行关闭管道。当 您使用网络监视器查看 SQL Server 上的连接时,Windows NT 会发出一个命名管道关闭请求,这将导致 Web 浏览器中的错误。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’
[Microsoft][ODBC SQL Server Driver][DBMSSOCN]
General network error.Check your network document
原因
当您重命名一台 SQL 服务器计算机时,会出现此错误。当无法找到计算机名时,引用原名称的域名系统 (DNS) 将失败。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80040e21’
Errors occurred
– 或者 –

80004005: ConnectionWrite(GetOverLappedResult)
原因
当您试图在一个字段中插入超出允许数量的数据时(例如,在一个被格式化为仅接受 25 个字符的 Microsoft Access 字段中插入 26 个字符),会出现此错误。

有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的相应文章:
166659 PRB:Accessing SQL Database Fails on Second Attempt

错误信息

Multiple-step OLE DB operation generated errors.Check each OLE DB status value, if available.No work was done.
原因
导致此错误的原因有多种;请参见“参考”部分,查看与此错误信息有关的文章。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80040e14’
[Microsoft][ODBC Microsoft Access 97 Driver]
Syntax error in INSERT INTO statement.
原因
出现此错误是因为某个列名可能是保留字(如“DATE”)。将列名更改为非保留字(如“SaleDate”)。
错误信息

Microsoft OLE DB Provider for ODBC Drivers error ‘80040e10′
[Microsoft][ODBC Microsoft Access 97 Driver]
Too few parameters.Expected 1.
原因
出现此错误是因为您在查询语法中使用了不存在的列名。通常,此错误只不过是一个拼写错误。将数据库中的列名与查询字符串进行对比检查。如果使用的是 Microsoft Access,请确保使用的是实际的列名,而不是列的“显示”名称。
参考
与 Microsoft Access 有关的文章
163159 ACC97:How to Use ASP Files to Query a Secure Microsoft Access Database
166029 PRB:Error “Cannot Open File Unknown” Using Access
167452 PRB:’Not a valid path’ Error when Using Access Data Source
174943 PRB:80004005 “Couldn’t Use ‘(unknown)’; File Already in Use”
189408 FIX:ASP Fails to Access Network Files Under IIS 4.0 and IIS 5.0
191566 PRB:Cannot Access Network Resource If Client Certificate Mapped
207525 PRB:IIS4:ASP/ADO Do Not Work Across UNC Path
234011 FPSE2000:Saving Form Results to Access Database ODBC Error
306269 PRB:Error 80004005 “The Microsoft Jet Database Engine Cannot Open the File ‘(Unknown)'”
306441 PRB:Troubleshooting Error 80004005 “Couldn’t Lock File” in ASP

与 Microsoft SQL Server 有关的文章
166659 PRB:Accessing SQL Database Fails on Second Attempt
169377 INF:How to Access SQL Server Within Active Server Pages
174638 PRB:ODBC Error When You Pass Date Parameters to SQL Stored Procedure
175671 PRB:80004005 ConnectionOpen (CreateFile()) Error Accessing SQL
178040 PRB:ConnectionWrite(GetOverLappedResult) on Update/Insert – SQL
186726 Error 80004005 Occurs When Retrieving Data from SQL Server
193997 HOWTO:Restart an ASP App to Enable Data Access with Named Pipes
253500 PRB:”Client Unable to Establish Connection” Error Message When Connecting from ASP to SQL Server
297035 FIX:Correlation Error Using Parameters.Refresh with SQLOLEDB
306586 PRB:ASP 中的错误 80004005“登录失败”的疑难解答

与用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序有关的文章
172684 XL97:Cannot Undo Background in Text Box on a Chart Object
173742 FIX:Global.asa Is Not Executed If Restricting Web Access
173959 PRB:Permissions Needed for IDC/ASP Queries
174640 PRB:ASP Error “The Query Is Not Updateable” When You Update Table Record
175168 PRB:ASP Returns ‘Operation Must Use an Updateable Query’ Error
178215 HOWTO:Configure Visual InterDev to Work with an Authenticated Web Project
189206 PRB:”Couldn’t Find File ‘Unknown'” Error When You Set Default Language to JScript
190006 “ODBC Drivers Error 80004005” When Browsing ASP Pages
194800 PRB:’Invalid Use Of Default Parameter’ Error in a Recordset DTC
195951 HOWTO:Query and Update Excel Data Using ADO From ASP
201004 PRB:Error 80004005 When You Use Data Range Header and Footer Controls
234205 PRB:File ‘(unknown)’ , Exception Occurred, or No Data Using Recordset DTCs
238971 Error Message:Microsoft OLE DB Provider for ODBC Drivers Error ‘80004005’
306345 PRB:ASP 错误 80004005“未找到数据源名称”

与 Novell NetWare 有关的文章
178045 HOWTO:Configure ASP to Read Data File on a Novell Server
271214 Unable to Access FoxPro Databases on Netware 5 Server from IIS 5.0
271228 IIS 5.0:Unable to Obtain Data from Access Database Residing on Netware 5 Server Using ASP
271459 IIS 4.0:Unable to Extract Data from Access Database on Netware 5 Server – Error Message:File Not Found

与 Oracle 有关的文章
183345 FIX:ORA-00000 Error Message with ASP, MTS, and Connection Pooling
222990 FIX:BUG:Error 0x80004005 Calling Certain Stored Procedures in Oracle
255084 HOWTO:ASP-to-Oracle 连接问题疑难解答

其他文章
156526 General Error=51 Connecting to an Access Datasource
184572 PRB:Creating Application with PWS 4.0, Windows 95 and VID
194397 Err Msg:Application Object Error ‘ASP 0197 :80004005’ Disallowed Object Use
197323 HOWTO:Troubleshoot “ADODB.Connection” Error 800a0bb9 from Recordset DTC
198531 FIX:RDS 2.0 Client Cannot SubmitChanges to RDS 1.5 Server
222828 Err Msg:Microsoft OLE DB Provider for ODBC Drivers Error ‘80040e4d’
225042 BUG:Error Message:Error ‘80004005’ Unexpected Error
228935 FIX:Uninitialized String Variables, Empty String Values, Jet Provider, and Errors Occurred
229657 PRB:ASP 0156:80004005 Header Error
237536 PRB:80004005 Unspecified Error When Passing Disconnected Recordset from MTS to ASP
241456 TPU:Error Message:Server Could Not Validate User Credentials
247931 INF:Authentication Methods for Connections to SQL Server in Active Server Pages
250809 “Unexpected Error” Occurs When You Use RDS Through SSL
253114 PRB:SQL_DRIVER_NOPROMPT Error When Using DEconnection in VB COM Object
253157 BUG:Identity Field Remains Read-Only After Executing SET IDENTITY_INSERT ON Statement
253696 PRB:Cannot Access URL with ADO 2.5 and Internet Publishing Provider (MSDAIPP) on IIS 4.0
253779 HOWTO:Troubleshoot “80020009 Exception Occurred” for DE Commands
257556 FIX:DB_E_ERRORSOCCURRED When ODBC Driver Returns TABLE_TYPE of More than 15 Characters
259382 INFO:Microsoft Transaction Server (MTS) Knowledge Base 文章索引
259383 INFO:ASP Knowledge Base Article Index
265263 PRB:Cannot Open a Client-Side Cursor for a SQL Query to OLAP Server
269495 PRB:”Multiple-step OLE DB operation generated errors” When Opening ADO Connection
270119 PRB:7357/7320 Error While Performing UPDATE, INSERT, or DELETE on Remote Table Using OpenQuery Via Linked Server
272583 MOD2000:”Multiple-Step OLE DB Operation Generated Errors” Error Message with Document Library Sample
272693 0x80004005 ASP Error Message Occurs When You Connect to a Database After Crystal Reports 8 Installation
273482 PRB:Error “Request Object, ASP 0107 (0x80004005)” When You Post a Form
276020 INFO:Upgrading to Windows 2000 with Visual InterDev
277381 Predictor Model Fails If the Model Name Is Longer than 128 Characters
284067 SPS:Indexing Exchange 2000 or SharePoint Portal Server by Using Basic Authentication Does Not Work with Blank Password
285081 INFO:XMLHTTPRequest Object Requires Internet Explorer 5.0 or Later
286245 PRB:Error Updating Records Using DB2OLEDB and Server-Side ADO Cursor
288785 INFO:Cursor Type Supported by DB2OLEDB Provider
292644 FPSE2002:Error Message After You Change Password:ADO Error 80040E4D:Login Failed for User ‘sa’
294160 BUG:Update of Newly Inserted Row Causes DB_E_ERRORSOCCURRED
296169 PRB:Error “Session Object, ASP 0168” When You Assign Session Variables in JavaScript
306216 PRB:Error “Unable to Load Communication Module” in ASP/ADO/SQL Server
307002 PRB:ASP/ODBC/SQL Server Error 0x80040E4D “Login Failed for User ‘(Null)'”

这篇文章中的信息适用于:
Microsoft Active Server Pages 2.0
Microsoft Active Server Pages 3.0
Microsoft Internet Information Server 4.0
Microsoft Internet Information Server 5.0
Microsoft Data Access Components 2.0
Microsoft Data Access Components 2.1
Microsoft Data Access Components 2.5
Microsoft Data Access Components 2.6
Microsoft Data Access Components 2.7

发表回复