Symptômes
Lorsque vous essayez de vous connecter à une base de données à l’aide de l’objet SqlConnection dans Microsoft ADO.NET 2.0, un échec de connexion peut être signalé même si le serveur de base de données est effectivement disponible. Ce problème est plus évident lorsque les conditions suivantes sont remplies :
-
Le serveur de base de données a été inaccessible pendant au moins une minute.
-
L’application cliente a essayé de se connecter au serveur de base de données pendant cette période.
Cause
Ce problème se produit en raison du comportement qui se produit lors de l’échouent de précédentes tentatives de connexion au serveur qui exécute Microsoft SQL Server. Le pool de connexions SqlClient peut limiter en interne le nombre de nouvelles tentatives de connexion au serveur. Cette procédure est prévue pour une courte période. Pendant ce temps, le regroupement de connexion signale automatiquement la dernière erreur qui s’est produite au lieu d’effectuer une connexion essayez sur le serveur. Après expiration de la période de temps, la prochaine demande de connexion de l’application cliente effectue une connexion réelle sur le serveur qui exécute SQL Server. Remarque Parfois, la période de temps peut devenir très volumineux. Ce problème dépend de la durée pendant laquelle le serveur de base de données n’est pas disponible.
Résolution
Pour résoudre ce problème, téléchargez le fichier approprié pour votre ordinateur :
Pour un ordinateur basé sur le x86
Le fichier suivant est disponible au téléchargement à partir du Microsoft Download Center :http://download.Microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-x86.exe
Pour un ordinateur basé sur le x64
Le fichier suivant est disponible au téléchargement à partir du Microsoft Download Center :http://download.Microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe
Pour un ordinateur de type Itanium
Le fichier suivant est disponible au téléchargement à partir du Microsoft Download Center : http://download.Microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe Pour plus d’informations sur la façon de télécharger des fichiers de prise en charge de Microsoft, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
119591 Comment faire pour obtenir des fichiers de support technique Microsoft auprès des services en ligneMicrosoft a vérifié que ce fichier ne comportait pas de virus. Microsoft a utilisé les logiciels de détection de virus les plus récents disponibles à la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés, ce qui empêche toute modification non autorisée du fichier.
Solution de contournement
Pour contourner ce problème, utilisez les méthodes ClearPool ou ClearAllPools de l’objet SqlConnection pour réinitialiser le pool de connexions.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Informations supplémentaires
Après avoir appliqué ce correctif, un léger décalage peut se produire avant que l’application cliente peut se connecter au serveur de base de données lorsque le serveur de base de données permet de récupérer en cas de panne. En général, ce délai ne doit pas durer plus de 60 secondes, même si la durée pendant laquelle le SQL Server était auparavant pas disponible. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
824684 Terminologie standard utilisée pour décrire les mises à jour logicielles MicrosoftPour plus d’informations sur la classe SqlConnection , visitez le site Web de Microsoft Developer Network (MSDN) à l’adresse suivante :
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxCe correctif est inclus dans le package de correctif de même que le correctif dans l’article suivant de la Base de connaissances Microsoft :
912151 correctif : la connexion peut expirer avant la première tentative de connexion pour le serveur partenaire de basculement lorsque vous essayez de vous connecter à une base de données mise en miroir SQL Server 2005 à l’aide d’une application basée sur ADO.NET 2.0
912731 correctif : application connectée lorsque ADO.NET une utilise l’espace de noms System.Data.SqlClient, l’application peut rencontrer une utilisation élevée du processeur et peut cesser de répondre
CORRIGER des 912732 : une erreur peut se produire lorsque vous démarrez une nouvelle transaction dans ADO.NET 2.0 sur une connexion ouverte à une base de données SQL Server 2005
913177 correctif : vous pouvez recevoir un message d’erreur lorsqu’une application connectée ADO.NET utilise la classe SqlBulkCopy
913764 correctif : message d’erreur lorsque vous essayez d’exécuter une requête UNION ALL ou d’appeler la méthode DeriveParameters : « erreur fatale de connexion interne »
913765 correctif : une SqlException exception peut se produire lorsque vous appelez une des méthodes Execute sur l’instance de la classe SqlCommand dans une application ADO.NET 2.0
913766 résolution : colonne un DateTime qui ne contient-elle pas de données est incorrectement représentée par un champ DateTime.MinValue lorsqu’un objet DataSet de.NET Framework 2.0 est désérialisé sur un ordinateur client