KB4057615 - CORRECTIF : erreur « Syntaxe incorrecte près de la mot clé 'KEY' » lorsque vous ajoutez une table Oracle avec une colonne principale nommée « KEY » en SQL Server 2016 et 2017

S’applique à
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Symptômes

Supposons que vous utilisez Microsoft SQL Server 2016 and 2017 Change Data Capture (CDC) for Oracle by Attunity pour répliquer les modifications de données des bases de données Oracle vers les bases de données SQL Server. Une table sur Oracle contient une colonne nommée « KEY », qui est également la clé primaire de la table. Dans cette situation, lorsque vous utilisez le Capture Designer de données modifiées pour Oracle d’Attunity afin d’ajouter cette table pour capturer les modifications, un message d’erreur semblable au suivant peut s’afficher :

Remarque

  • Syntaxe incorrecte près du mot clé 'KEY'.
  • Syntaxe incorrecte près du mot clé « avec ». Si cette instruction est une expression de table commune, une clause xmlnamespaces ou une clause de contexte de suivi des modifications, l’instruction précédente doit être terminée par un point-virgule.
  • System.Data.SqlClient.SqlException (0x80131904) : syntaxe incorrecte près du mot clé « KEY ».
  • Syntaxe incorrecte près du mot clé « avec ». Si cette instruction est une expression de table commune, une clause xmlnamespaces ou une clause de contexte de suivi des modifications, l’instruction précédente doit être terminée par un point-virgule.
  • dans Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.ExecuteBatchSqlInTransaction(String dbName, IList'1 sqlCommands)
  • dans Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.UpdateCaptureTables(CDCInstanceInfo cdcInfoForUpdate)
  • dans Attunity.SqlServer.XdbCdcDesigner.UI.EditCDCInstanceForm.UpdateCaptureTables()
  • ClientConnectionId :ConnectionID
  • Numéro d’erreur :156,État :1,Classe :15

Résolution

Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :

Mise à jour cumulative 6 pour SQL Server 2017

Mise à jour cumulative CU 38 pour SQL Server 2016 SP1

À propos des mises à jour cumulatives pour SQL Server :

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2017

Dernière mise à jour cumulative pour SQL Server 2016

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.

Exclusion de responsabilité de tiers

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.