我为没有主键的表(表具有a,b,c,d,e列)创建了源jdbc连接器,并且该表是外部数据库的一部分。我的数据库中有副本表,并且使用a,b和c列创建了主键,因为这三者组合在一起形成了唯一数据,并且可以用来形成主键。我正在尝试创建upsert接收器连接器并将pk.fields设置为a,b,c,但是当我启动接收器连接器时,它进入降级状态,并且在connect.log中也看不到任何正确的错误。我已经将pk.mode指定为record_value,并且在pk.fields中将其指定为a,b,c。有人可以让我知道设置中是否缺少任何内容?
注意:如果我更改插入和删除pk.fields的模式,它会起作用。 pk.mode是record_value。
更新:
您好,罗宾,名为AccountDetails的源表具有accNumber,bankABA,bankOrigAccNumber,SpendingLimit和ExpirationDate列,并且该表没有主键。目标表是AccountInformation,具有相同的列,但主键与(accNumber,bankABA和bankOrigAccNumber)相同,因为我们需要在目标上具有主键才能在其他应用程序中使用。我创建了源连接器,它可以很好地在24小时内提取一次数据。我正在尝试创建一个接收器连接器,其模式为upsert,用于将数据从主题推送到表,主键模式为record_value,主键字段为“ accNumber,bankABA,bankOrigAccNumber”。当我启动接收器时,它将进入降级状态。