Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

CORRECTIF : vous ne pouvez pas insérer les valeurs explicites dans une colonne IDENTITY d'une table SQL Server à l'aide la fonction SQLBulkOperations ou la fonction fSQLSetPos ODBC dans SQL Server 2000

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: 828945
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Bogue #: 470299 (SQL Server 8.0)

Microsoft distribue les correctifs SQL Server 2000 le biais comme un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec le SQL Server 2000 précédente version du correctif.
Symptômes
Lorsque vous utilisez la fonction SQLBulkOperations ou fSQLSetPos ODBC fonctionnent pour insérer des valeurs explicites dans une colonne de SQL Server IDENTITY, la ODBC fonction risquent de ne pas fonctionner correctement et la message d'erreur suivant peut s'afficher :

DIAG [37000] [Microsoft] [ODBC SQL pilote Server] [SQL Server] explicite valeur doit être spécifiée pour colonne identité de table « new_employees » lorsque IDENTITY_INSERT a la valeur sur. (545)

Ce problème produit même lorsque vous définissez la IDENTITY_INSERT permet lors de la table qui contienne la colonne IDENTITY.
Cause
Même si l'option IDENTITY_INSERT est définie à ON, SQL Server envoie incorrectement l'état de la colonne IDENTITY comme non modifiable. Étant donné que le pilote ODBC repose sur l'état updateability de L'IDENTITY colonne, le pilote ODBC suppose que la colonne IDENTITY n'est pas modifiable. Par conséquent, le pilote ODBC ignore la colonne lors de la vous utilisez le SQLBulkOperations ou la fonction ODBC fSQLSetPos pour insérer des valeurs explicites dans un IDENTITY Server SQL colonne.
Résolution

Informations sur le service pack

Pour résoudre ce problème, procurez-vous le dernier service pack Microsoft SQL Server 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290211 Comment obtenir le dernier pack de service SQL Server 2000

Informations sur le correctif

La version anglaise de ce correctif dispose les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date         Time   Version            Size    File name   -----------------------------------------------------------------------   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll   25-Apr-2003  02:12                    786,432  Distmdl.ldf   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll   24-Apr-2003  02:51                    747,927  Instdist.sql   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll   01-Apr-2003  02:07                      1,873  Odsole.sql   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe            02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll   04-Aug-2003  18:17                    550,780  Procsyst.sql   12-Sep-2003  00:37                     12,305  Qfe469315.sql   22-May-2003  22:57                     19,195  Qfe469571.sql   06-Sep-2003  01:36                  1,090,932  Replmerg.sql   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll   06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll   06-Sep-2003  00:00                  1,087,150  Replsys.sql   13-Aug-2003  16:28                    986,603  Repltran.sql   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll          31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll          07-Apr-2003  17:44                     25,172  Sqldumper.exe   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll   27-Sep-2003  04:42  2000.80.865.0     180,792  Sqlmap70.dll        03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll   27-Sep-2003  04:42  2000.80.865.0   7,606,353  Sqlservr.exe        25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll         08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll
note En raison des dépendances de fichiers, la fonctionnalité qui contient ces fichiers ou correctif plus récent peut également contenir des fichiers supplémentaires.

Statut
Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».Ce problème a été corrigé dans Microsoft SQL Server 2000 Service Pack 4.
Références
Pour plus d'informations sur les SQLBulkOperations et les fonctions fSQLSetPos, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
294153 BOGUE : SQLBulkOperations et SQLSetPos ne pas insérer valeurs d'identité

Pour plus d'informations sur les mises à jour logicielles, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 828945 - Dernière mise à jour : 12/08/2015 04:47:11 - Révision : 3.3

Microsoft SQL Server 2000 Édition Développeur, Microsoft SQL Server 2000 Standard, Microsoft SQL Server 2000 Édition Entreprise, Microsoft SQL Server 2000 Édition Personelle, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlclient kbclientserver kberrmsg kbsqlserv2000presp4fix kbfix kbbug KB828945 KbMtfr
Commentaires