CORRECTIF : L'utilisation d'un pont JDBC-ODBC entraîne une violation d'accès au cours des longues applications multithread

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

Symptômes

Durant les longues applications multithread qui utilisent un pont JDBC-ODBC, vous pouvez rencontrer des violations d'accès avec des piles d'appels, comme illustré ci-dessous. Le facteur d'identification de clé est une erreur dans ODBC32 avec des appels provenant du module MSJDBC10 sur la pile des appels.
00  000000000482fdd4  000000001f70264f  ODBC32!EnterDbcCS+0x6
01  000000000482fdf4  000000001f702505  ODBC32!FreeStmt+0x10a
02  000000000482fe0c  000000007c3e6522  ODBC32!SQLFreeStmt+0x22
03  000000000482fef0  000000007c0019db  SJDBC10!com_ms_jdbc_odbc_JdbcOdbc_freeStmt+0x72
04  000000000482ff5c  000000007c006845  MSJAVA!CJavaEngine::VMInvoke+0x2e
05  000000000482ff80  000000007c023c16  MSJAVA!CallFinalizer+0x38
06  000000000482ff98  000000007c023bba  MSJAVA!CGCHeap::RunFinalizerLoop+0x57
07  000000000482ffb8  0000000077f04ee8  msjava!0x000000007C023BBA
08  000000000482ffc0  ffffffffc0000034  KERNEL32!BaseThreadStart+0x51
09  0000000000000000  0000000000000000  0xFFFFFFFFC0000034
-ou-
09  000000000165efec  00000000062064a0  SQLSRV32!SAVETHREADID+0x20
0a  000000000165f064  000000001f4a738d  SQLSRV32!SQLGetData+0x30
0b  000000000165f090  000000007c3e6dc9  ODBC32!SQLGetData+0x2ed
0c  000000000165f0ec  0000000001c71421  MSJDBC10!com_ms_jdbc_odbc_JdbcOdbc_getDataString+0xa9
0d  000000000165f124  000000000165f540  0x0000000001C71421

Cause

Le problème est dû à une mauvaise synchronisation et à une gestion incorrecte des exceptions SQL dans le code du pont.

Résolution

REMARQUE : Si vous utilisez Windows 2000, vous devez installer le Service Pack (SP) 1 de Windows 2000 avant de procéder à la mise à jour vers la machine virtuelle Microsoft (Microsoft VM).

Pour résoudre ce problème, installez le build 3802 ou une version ultérieure de Microsoft VM, disponible sur le site Web de Microsoft à l'adresse suivante :
http://www.microsoft.com/mscorp/java/default.mspx
AVERTISSEMENT : Il est impossible de désinstaller Microsoft VM une fois que vous l'avez installé.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "Liste des produits concernés par cet article".

Ce problème a été corrigé dans Microsoft VM build 3802.

Références

Pour plus d'information sur le Service Pack 1 de Windows 2000, consultez le site Web de Microsoft à l'adresse suivante :
http://www.microsoft.com/windows2000/downloads/recommended/sp1/default.asp
Pour plus d'informations sur la procédure à suivre pour installer en même temps Windows 2000 et les correctifs Windows 2000, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
249149 Installation de Microsoft Windows 2000 et des correctifs Windows 2000
Pour consulter les derniers articles de la Base de connaissances Microsoft ainsi que les autres informations de support concernant Microsoft Visual J++ et le kit de développement de logiciel Microsoft pour Java, reportez-vous aux pages suivantes sur le site Web du Support technique de Microsoft à l'adresse suivante :
http://www.microsoft.com/mscorp/java/

Propriétés

Numéro d'article: 257998 - Dernière mise à jour: mardi 4 février 2014 - Version: 2.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Virtual Machine for Java
Mots-clés : 
kbnosurvey kbarchive kbbug kbfix kbjavavm31xx kbjavavm31xxfix kbwin2000presp1fix kbwin2000sp1fix KB257998
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.

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