Kafka Connect CDC to MSSQL «В таблице должен быть хотя бы один столбец первичного ключа» - PullRequest
0 голосов
/ 07 января 2019

Я использую Kafka Connect с коннектором MSSQL с базой данных и таблицей с поддержкой CDC. При создании задачи с помощью REST API я получаю следующую ошибку:

ERROR Exception thrown while querying for ChangeKey{databaseName=WebAppDb, schemaName=dbo, tableName=Companies} (io.confluent.connect.cdc.mssql.QueryService)
kafka-connect_1     | java.lang.IllegalStateException: Table([dbo].[Companies]) must have at least one primary key column.
kafka-connect_1     |   at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
kafka-connect_1     |   at io.confluent.connect.cdc.mssql.MsSqlQueryBuilder.changeTrackingStatementQuery(MsSqlQueryBuilder.java:81)
kafka-connect_1     |   at io.confluent.connect.cdc.mssql.MsSqlQueryBuilder.changeTrackingStatement(MsSqlQueryBuilder.java:119)
kafka-connect_1     |   at io.confluent.connect.cdc.mssql.QueryService.queryTable(QueryService.java:117)
kafka-connect_1     |   at io.confluent.connect.cdc.mssql.QueryService.processTables(QueryService.java:92)
kafka-connect_1     |   at io.confluent.connect.cdc.mssql.QueryService.run(QueryService.java:67)
kafka-connect_1     |   at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60)
kafka-connect_1     |   at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
kafka-connect_1     |   at java.lang.Thread.run(Thread.java:748)

Чего я не понимаю, так это того, что у этой таблицы есть первичный ключ:

enter image description here

Что это может быть?

1 Ответ

0 голосов
/ 08 января 2019

Я обнаружил, что причиной этого является название ПК. Переименование в одно без '.' персонаж работает. Это должна быть ошибка.

...