Symptomer
Antag, at du bruger Microsoft SQL Server 2016 og 2017 Change Data Notering (CDC) til Oracle by Attunity til at replikere dataændringer fra Oracle-databaser til SQL Server-databaser. En tabel på Oracle indeholder en kolonne med navnet 'KEY', og denne kolonne er også den primære nøgle i tabellen. I denne situation, når du bruger Change Data Notering Designer for Oracle by Attunity til at tilføje denne tabel til at hente ændringer, kan der opstå en fejlmeddelelse, der ligner følgende:
Bemærk
- Forkert syntaks nær nøgleordet 'KEY'.
- Forkert syntaks nær nøgleordet 'med'. Hvis denne sætning er et almindeligt tabeludtryk, en xmlnamespaces-delsætning eller en kontekstklausul til registrering af ændringer, skal den forrige sætning afsluttes med et semikolon.
- System.Data.SqlClient.SqlException (0x80131904): Forkert syntaks nær nøgleordet 'KEY'.
- Forkert syntaks nær nøgleordet 'med'. Hvis denne sætning er et almindeligt tabeludtryk, en xmlnamespaces-delsætning eller en kontekstklausul til registrering af ændringer, skal den forrige sætning afsluttes med et semikolon.
- at Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.ExecuteBatchSqlInTransaction(String dbName, IList'1 sqlCommands)
- at Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.UpdateCaptureTables(CDCInstanceInfo cdcInfoForUpdate)
- at Attunity.SqlServer.XdbCdcDesigner.UI.EditCDCInstanceForm.UpdateCaptureTables()
- ClientConnectionId:ConnectionID
- Fejlnummer:156,Stat:1,Klasse:15
Løsning
Dette problem er rettet i følgende kumulative opdateringer til SQL Server:
Kumulativ opdatering 6 til SQL Server 2017
Kumulativ opdatering 8 til SQL Server 2016 SP1
Om kumulative opdateringer til SQL Server:
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Seneste kumulative opdatering til SQL Server 2017
Seneste kumulative opdatering til SQL Server 2016
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.
Ansvarsfraskrivelse for tredjepartsoplysninger
De tredjepartsprodukter, der beskrives i denne artikel, er produceret af firmaer, der er uafhængige af Microsoft. Microsoft påtager sig intet ansvar, hverken underforstået eller på anden måde, for funktionaliteten eller pålideligheden af disse produkter.