Help and Support

BUG: Error Message: Error '80004005' Unexpected Error

Article ID:225042
Last Review:October 23, 2003
Revision:2.0
This article was previously published under Q225042
On This Page

SYMPTOMS

Within your MDAC code, you have multiple recordsets with the same recordset object that are created off of the same command and are also pointing to the same connection. The first recordset that is opened contains multiple recordsets within that same object. Before calling NextRecordset on that object, open another Recordset (new recordset object) and point the ActiveConnection property to the same command and connection to which at the other recordset object was pointing. This causes the following error when the Set rs = rs.NextRecordset is executed:
error '80004005' Unspecified error
This error occurs in MDAC 2.0 and MDAC 2.1. It does not occur in MDAC 1.5.

Back to the top

RESOLUTION

Make sure that the ActiveConnection property of the Command object for the first recordset is set only once throughout the page (especially if it contains multiple physical recordsets within the same recordset object) if the same connection is still being used.

Back to the top

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This bug was corrected in MDAC 2.5.

Back to the top

MORE INFORMATION

Steps to Reproduce Behavior

1.Open a new Active Server Pages (ASP) page in Visual InterDev and paste the following code onto the page:
<%@ Language=VBScript %>
<%
        Set cn = Server.CreateObject("ADODB.Connection")
	cn.Open "pubs","sa",""
	Set cmd = Server.CreateObject("ADODB.Command")
	Set rs = Server.CreateObject("ADODB.Recordset")	
	cmd.CommandText = "Select * From Authors Select * From Stores Select * From Sales"
	cmd.CommandType = 1
	Set cmd.ActiveConnection = cn
        rs.Open cmd
	Response.Write(rs(0) & "<BR>")
	
	GetDBValues	

        Response.Write(rs(0) & "<BR>")
        Response.Write(rs(1) & "<BR>")
    
        Set rs = rs.NextRecordset 'Fails on this line
   
        Response.Write("New Recordset after NextRecordset Call" & "<BR>")
        Response.Write(rs(0) & "<BR>")
        Response.Write(rs(1) & "<BR>")
	
  Sub GetDBValues
	
	Set rst = Server.CreateObject("ADODB.Recordset")
	cmd.CommandText = "Select * from stores" 
	cmd.CommandType = 1
	Set cmd.ActiveConnection = cn

	rst.Open cmd
	Response.Write("Opened new recordset" & "<BR>")
  End Sub		
  %> 

					
2.Create a data source name (DSN) called "pubs" that points to the pubs database on SQL Server.
3.Run the page and the following error appears:
'80004005' "Unspecified error"

Back to the top


APPLIES TO
Microsoft Data Access Components 2.0
Microsoft Data Access Components 2.1

Back to the top

Keywords: 
kbbug kbmdac250fix KB225042

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.