Ich benutze JDBC Source Connector, um Daten aus einer Teradata Tabelle zu lesen und zu Kafka Thema zu schieben . Aber wenn ich versuche, JDBC-Senken-Konnektor zu verwenden, um Kafka-Thema zu lesen und zu Oracle-Tabelle zu schieben, löst es den folgenden FEHLER aus. Ich bin mir sicher, dass der Fehler wegen der Parameter pk.mode
und pk.fields
ist, von denen ich nicht sicher bin, was ich verwenden soll.Kafka Connect - Kann ALTER nicht hinzufügen fehlendes Feld SinkRecordField {schema = Schema {BYTES}, name = 'CreateUID', isPrimaryKey = true},
Mein terradata hat einen Primärschlüssel UserID + DatabaseID. Ich habe die Tabelle in Oracle mit dem primay Schlüssel als Userid + databaseID erstellt.
** ERROR Cannot ALTER to add missing field SinkRecordField{schema=Schema{BYTES},
name='CreateUID', isPrimaryKey=true}, as it is not
optional and does not have a default value**
Unten ist mein Waschbecken Steckverbinder-
{name=teradata_sink
connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
tasks.max=1
topics=TERADATA_ACCESSRIGHTS
connection.url=
connection.user=
connection.password=
auto.create=false
table.name.format=TERADATA_ACCESSRIGHTS
pk.mode=record_value
pk.fileds=USERID+DATABASEID
auto.evolve=true
insert.mode=upsert
}
Bitte legen nahe, wie kann ich die JDBC versenken Anschluss mit dem angegebenen Primärschlüssel verwenden.
Ja die Spalte existiert in meiner Quell- und Zieltabelle beide auch ich versuchte mit auto create.enable = false und erstellte die gleiche Schematabelle wie es in Teradata war, aber es wirft den obigen Fehler. –
hast du dein Problem gelöst? – Mikhail