Help and Support

FIX: When You Store an ActiveX Data Objects Recordset Object Session in Internet Information Server 5.0

Article ID:262681
Last Review:June 28, 2004
Revision:3.0
This article was previously published under Q262681
On This Page

SYMPTOMS

When an ActiveX Data Objects (ADO) recordset is stored in a session variable that is in an Active Server Pages (ASP) application, you may get one of the following error messages:
Microsoft VBScript runtime (0x800A01FB)
An exception occurred: 'Session'
-or-
Active Server Pages, ASP 0241 (0x80004005)
The CreateObject of '(null)' caused exception C0000005.
-or-
Microsoft VBScript runtime (0x800A01FB)
An exception occurred: 'Open'

Back to the top

CAUSE

This problem occurs because the session variables in Internet Information Server (IIS) 5.0 are stored in the Global Interface Table (GIT), and this causes an access violation with an open recordset when it is stored in a session variable.

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 Microsoft Data Access Components version 2.6 or later.

Back to the top

MORE INFORMATION

Steps to Reproduce the Behavior

To reproduce the behavior, perform the following steps:
1.Create an ASP page on IIS 5.0 with the following code:
<%
   Dim oConn, oRs
	
   Set oConn = Server.CreateObject("ADODB.Connection")
   Set oRs = Server.CreateObject("ADODB.Recordset") 
		
   oConn.Open "Provider=SQLOLEDB.1;Data Source=<ServerName>;User Id=sa;Initial Catalog=Northwind"

   Set oRs.ActiveConnection = oConn
   oRs.CursorLocation = 3
	
   oRs.Open "SELECT * FROM Employees"
   Set oRs.ActiveConnection = Nothing
   
   oConn.Close
   Set oConn = Nothing

   'Bug occurs if ADO Recordset is stored in Session 
variable after opening
   Set Session("session_recordset") = oRs

   Do While Not oRs.EOF
      Response.Write oRs("LastName") & "<BR>"
      oRs.MoveNext 
   Loop

   oRs.Close
   Set oRs = Nothing     	
	
%>
					
2.Browse the ASP page you created, and then refresh the ASP page. One of the error messages is displayed after you refresh the ASP page.

Back to the top

REFERENCES

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
249175 (http://support.microsoft.com/kb/249175/EN-US/) FIX: Storing an ADO Recordset in GIT Might Cause An Access Violation
248287 (http://support.microsoft.com/kb/248287/EN-US/) INFO: Understanding ADO Marshaling

Back to the top


APPLIES TO
Microsoft Active Server Pages 4.0
Microsoft ActiveX Data Objects 2.5
Microsoft Internet Information Services 5.0

Back to the top

Keywords: 
kbbug kbfix kbado260fix kbmdac260fix KB262681

Back to the top

Article Translations

 

Related Support Centers

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.