CORRECTIF : Vous recevez une valeur incorrecte lorsque vous interrogez la valeur d’identité insérée en dernier après qu’un curseur côté client vous permet d’insérer des données dans une table contenant une colonne d’identité dans une application qui utilise des objets de données ActiveX

Symptômes

Envisagez le scénario suivant.
  • Dans une instance de Microsoft SQL Server, vous avez deux tables et chaque table contient une colonne d’identité.
  • Vous créez un déclencheur d’insertion sur la première table. Le déclencheur insère des données dans la deuxième table lorsque le déclencheur s’exécute.
  • Vous avez une application qui utilise des objets ADO (Microsoft ActiveX Data Objects) pour se connecter à l’instance de SQL Server.
  • Dans l’application, un curseur côté client vous permet d’insérer des données dans la première table.
Dans ce scénario, lorsque vous exécutez l’application et ensuite interrogez la valeur d’identité insérée à la dernière, vous constaterez que la fonction renvoie une valeur incorrecte. La valeur correspond à la valeur d’incrémentation automatique qui est générée sur la seconde table à la place de la première table.

Ce problème se produit dans la 2.8 Microsoft données Access Components (MDAC). Vous devrez peut-être MDAC 2.8 est installé sur l’un des systèmes d’exploitation Windows suivants :
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003 Service Pack 1 (SP1)
  • Windows Server 2003 Service Pack 2 (SP2)
  • Windows Vista Service Pack 1 (SP1)
  • Windows Server 2008

Cause

Lorsque les données sont insérées dans la première table, le déclencheur d’insertion utilise la fonction @@IDENTITY au lieu de la fonction SCOPE_IDENTITY pour obtenir la valeur d’identité insérée en dernier. Par conséquent, la fonction @@IDENTITY peut renvoyer une valeur d’identité qui n’est pas générée par la même table.

Résolution

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Vous devez disposer du service pack correspondant installé avant d’appliquer ce correctif.

Informations sur le redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir appliqué ce correctif.

Informations concernant le Registre

Vous n’êtes pas obligé de modifier le Registre.

Informations sur les fichiers de correctif logiciel

Ce correctif contient uniquement les fichiers qui sont nécessaires pour corriger les problèmes décrits dans cet article. Ce correctif peut ne pas contienne tous les fichiers nécessaires à la mise à jour complète d’un produit vers la dernière version. Version l’anglaise de ce correctif possède les attributs de fichier (ou ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
Windows XP SP2, la version 32 bits
Nom de fichierVersion de fichierTaille du fichierDateHeure
Msadce.dll2.81.1144.0331,77631-Dec-200814:35
Windows XP SP3, la version 32 bits
Nom de fichierVersion de fichierTaille du fichierDateHeure
Msadce.dll2.81.3010.0331,77631-Dec-200814:38
Version 32 bits de Windows Server 2003 SP1
Nom de fichierVersion de fichierTaille du fichierDateHeure
Msadce.dll2.82.3272.0356,35231-Dec-200816:04
Windows Server 2003 SP1, la version basée sur les x64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Msadce.dll2.82.3272.0622,59231-Dec-200813:48x64
Wmsadce.dll2.82.3272.0356,35231-Dec-200813:48x86
Windows Server 2003 SP1, la version basée sur Itanium
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Msadce.dll2.82.3272.01,212,41631-Dec-200813:48IA-64
Wmsadce.dll2.82.3272.0356,35231-Dec-200813:48x86
Version 32 bits de Windows Server 2003 SP2
Nom de fichierVersion de fichierTaille du fichierDateHeure
Msadce.dll2.82.4437.0356,35231-Dec-200815:55
Windows Server 2003 SP2, la version basée sur les x64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Msadce.dll2.82.4437.0622,59231-Dec-200813:53x64
Wmsadce.dll2.82.4437.0356,35231-Dec-200813:53x86
Windows Server 2003 SP2, la version basée sur Itanium
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Msadce.dll2.82.4437.01,212,41631-Dec-200813:51IA-64
Wmsadce.dll2.82.4437.0356,35231-Dec-200813:51x86
Service Pack 1 de Windows Vista, version 32 bits
Nom de fichierVersion de fichierTaille du fichierDateHeure
Package_for_kb961451_client_1~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,36731-Dec-200815:00
Package_for_kb961451_client~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00
Package_for_kb961451_sc_0~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42131-Dec-200815:00
Package_for_kb961451_sc~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42231-Dec-200815:00
Package_for_kb961451_server_0~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42531-Dec-200815:00
Package_for_kb961451_server~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00
X86_5e4a93ecd0b53d31b4ac3789c9b5bd45_31bf3856ad364e35_6.0.6001.22342_none_2f74674e1031809b.manifestNe s'applique pas73831-Dec-200815:00
X86_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNe s'applique pas15,00131-Dec-200804:57
Msadce.dll6.0.6001.22342454,65631-Dec-200804:23
Windows Vista SP1, la version basée sur les x64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNe s'applique pas1,12431-Dec-200815:00Ne s'applique pas
Amd64_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_be6ff1921358dd76.manifestNe s'applique pas14,68331-Dec-200805:26Ne s'applique pas
Package_for_kb961451_client_1~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,37531-Dec-200815:00Ne s'applique pas
Package_for_kb961451_client~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pasprix de 1 43831-Dec-200815:00Ne s'applique pas
Package_for_kb961451_sc_0~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,42931-Dec-200815:00Ne s'applique pas
Package_for_kb961451_sc~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server_0~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,43331-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pasprix de 1 43831-Dec-200815:00Ne s'applique pas
X86_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNe s'applique pas15,00131-Dec-200804:57Ne s'applique pas
Msadce.dll6.0.6001.22342589,82431-Dec-200804:48x64
Msadce.dll6.0.6001.22342454,65631-Dec-200804:23x86
Windows Vista SP1, la version basée sur Itanium
Nom de fichierVersion de fichierTaille du fichierDateHeure
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNe s'applique pas1,12231-Dec-200815:00
Ia64_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6252fa045af9753c.manifestNe s'applique pas14,66731-Dec-200805:16
Package_for_kb961451_sc_0~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42531-Dec-200815:00
Package_for_kb961451_sc~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42631-Dec-200815:00
Package_for_kb961451_server_0~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42931-Dec-200815:00
Package_for_kb961451_server~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,43431-Dec-200815:00
Msadce.dll6.0.6001.223421,175,55231-Dec-200804:41
Windows Server 2008, la version 32 bits
Nom de fichierVersion de fichierTaille du fichierDateHeure
Package_for_kb961451_client_1~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,36731-Dec-200815:00
Package_for_kb961451_client~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00
Package_for_kb961451_sc_0~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42131-Dec-200815:00
Package_for_kb961451_sc~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42231-Dec-200815:00
Package_for_kb961451_server_0~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,42531-Dec-200815:00
Package_for_kb961451_server~31bf3856ad364e35~x86~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00
X86_5e4a93ecd0b53d31b4ac3789c9b5bd45_31bf3856ad364e35_6.0.6001.22342_none_2f74674e1031809b.manifestNe s'applique pas73831-Dec-200815:00
X86_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNe s'applique pas15,00131-Dec-200804:57
Msadce.dll6.0.6001.22342454,65631-Dec-200804:23
Windows Server 2008, la version basée sur les x64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNe s'applique pas1,12431-Dec-200815:00Ne s'applique pas
Amd64_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_be6ff1921358dd76.manifestNe s'applique pas14,68331-Dec-200805:26Ne s'applique pas
Package_for_kb961451_client_1~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,37531-Dec-200815:00Ne s'applique pas
Package_for_kb961451_client~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pasprix de 1 43831-Dec-200815:00Ne s'applique pas
Package_for_kb961451_sc_0~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,42931-Dec-200815:00Ne s'applique pas
Package_for_kb961451_sc~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,43031-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server_0~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pas1,43331-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server~31bf3856ad364e35~amd64~~6.0.2.0.mumNe s'applique pasprix de 1 43831-Dec-200815:00Ne s'applique pas
X86_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNe s'applique pas15,00131-Dec-200804:57Ne s'applique pas
Msadce.dll6.0.6001.22342589,82431-Dec-200804:48x64
Msadce.dll6.0.6001.22342454,65631-Dec-200804:23x86
Windows Server 2008, la version basée sur Itanium
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNe s'applique pas1,12231-Dec-200815:00Ne s'applique pas
Ia64_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6252fa045af9753c.manifestNe s'applique pas14,66731-Dec-200805:16Ne s'applique pas
Package_for_kb961451_sc_0~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42531-Dec-200815:00Ne s'applique pas
Package_for_kb961451_sc~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42631-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server_0~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,42931-Dec-200815:00Ne s'applique pas
Package_for_kb961451_server~31bf3856ad364e35~ia64~~6.0.2.0.mumNe s'applique pas1,43431-Dec-200815:00Ne s'applique pas
X86_microsoft-windows-m..nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNe s'applique pas15,00131-Dec-200804:57Ne s'applique pas
Msadce.dll6.0.6001.223421,175,55231-Dec-200804:41IA-64
Msadce.dll6.0.6001.22342454,65631-Dec-200804:23x86

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Remarque Le correctif ne modifie pas le comportement d’ADO via le fournisseur Microsoft OLE DB pour ODBC (MSDASQL).
. Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

Packages de mises à jour 822499 nouveau schéma d’appellation pour les logiciels de Microsoft SQL Server

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft

Propriétés

ID d'article : 961451 - Dernière mise à jour : 14 janv. 2017 - Révision : 1

Commentaires