KB4057615 - FIX: Error "Sintaxis incorrecta cerca de la palabra clave 'KEY'" al añadir una tabla de Oracle con columna principal denominada 'KEY' en SQL Server 2016 y 2017

Se aplica a
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

Síntomas

Supongamos que usa Microsoft SQL Server 2016 y 2017 Change Data Captura (CDC) for Oracle by Attunity para replicar los cambios en los datos de las bases de datos de Oracle en las bases de datos de SQL Server. Una tabla de Oracle contiene una columna denominada "KEY" y esta columna es también la clave principal de la tabla. En esta situación, al usar la Captura Designer de datos modificados para Oracle by Attunity para agregar esta tabla para capturar cambios, puede aparecer un mensaje de error similar al siguiente:

Nota

  • Sintaxis incorrecta cerca de la palabra clave 'KEY'.
  • Sintaxis incorrecta cerca de la palabra clave "con". Si esta instrucción es una expresión de tabla común, una cláusula xmlnamespaces o una cláusula de contexto de seguimiento de cambios, la instrucción anterior debe terminarse con punto y coma.
  • System.Data.SqlClient.SqlException (0x80131904): Sintaxis incorrecta cerca de la palabra clave 'KEY'.
  • Sintaxis incorrecta cerca de la palabra clave "con". Si esta instrucción es una expresión de tabla común, una cláusula xmlnamespaces o una cláusula de contexto de seguimiento de cambios, la instrucción anterior debe terminarse con punto y coma.
  • 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
  • Número de error:156,Estado:1,Clase:15

Resolución

Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:

Actualización acumulativa 6 para SQL Server 2017

Actualización acumulativa CU 8 para SQL Server 2016 SP1

Acerca de las actualizaciones acumulativas para SQL Server:

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:

Actualización acumulativa más reciente para SQL Server 2017

Actualización acumulativa más reciente para SQL Server 2016

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.