CORRECTIF : Lorsque vous stocker une session de Recordset, objet ActiveX Data Objects dans Internet Information Server 5.0

Traductions disponibles Traductions disponibles
Numéro d'article: 262681 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsqu'un jeu d'enregistrements ADO (ActiveX Data Objects) est stocké dans une variable de session qui se trouve dans une application ASP (Active Server Pages), un des messages d'erreur suivant peut s'afficher :
Exécution de Microsoft VBScript (0x800A01FB)
Une exception s'est produite: «Session»
- ou -
Active Server Pages, ASP 0241 (0 x 80004005)
Exception CreateObject de (null) a provoqué C0000005.
- ou -
Exécution de Microsoft VBScript (0x800A01FB)
Une exception s'est produite: «Open»

Cause

Ce problème se produit car les variables de session dans Internet Information Server (IIS) 5.0 sont stockés dans le GIT (global interface table), et cela provoque une violation d'accès avec un jeu d'enregistrements ouvert lorsqu'elle est stockée dans une variable de session.

Statut

Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés au début de cet article.

Ce bogue a été corrigé dans Microsoft Data Access Components 2.6 ou version ultérieure.

Plus d'informations

Étapes à suivre pour reproduire le comportement

Pour reproduire le problème, effectuez les opérations suivantes :
  1. Créer une page ASP sur IIS 5.0 avec le code suivant :
    <%
       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. Recherchez la page ASP que vous avez créé et puis actualisez la page ASP. Un des messages d'erreur s'affiche après que vous actualisez la page ASP.

Références

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la base de connaissances Microsoft :
249175CORRECTIF : Stockage un objet ADO Recordset dans GIT peut provoquer une violation d'accès
248287Information : Présentation marshaling de ADO

Propriétés

Numéro d'article: 262681 - Dernière mise à jour: dimanche 23 février 2014 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Active Server Pages 4.0
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft Internet Information Services 5.0
Mots-clés : 
kbnosurvey kbarchive kbmt kbado260fix kbbug kbfix kbmdac260fix KB262681 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 262681
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com