Symptoms
Assume that you use Microsoft SQL Server 2016 and 2017 Change Data Capture (CDC) for Oracle by Attunity to replicate data changes from Oracle databases to SQL Server databases. A table on Oracle contains a column that's named 'KEY', and this column is also the primary key of the table. In this situation, when you use the Change Data Capture Designer for Oracle by Attunity to add this table for capturing changes, an error message that resembles the following might occur:
Incorrect syntax near the keyword 'KEY'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near the keyword 'KEY'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
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
Error Number:156,State:1,Class:15
Resolution
This issue is fixed in the following cumulative updates for SQL Server:
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the terminologythat Microsoft uses to describe software updates.
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.