错误信息如下: ETL01:08/21 23:44:10=>调试信息=>获取一个新数据库链接=oracle.jdbc.driver.T4CConnection@578cbf8d ETL01:08/21 23:44:10=>当前线程id(126)共监听到:1条数据! ETL01:08/21 23:44:10=>调试信息=>提示:准备传输符合条件的(1)条数据到(STUDENT)表中! ETL01:08/21 23:44:10=>调试信息=>获取一个新数据库链接=com.mysql.cj.jdbc.ConnectionImpl@1285b9a4 ETL01:08/21 23:44:10=>java.lang.Class - java.lang.Exception: 错误:节点()没有设置主键退出数据更新!!! at cn.restcloud.etl.process.engine.drive.impl.write.impl.ETLTableBatchWriteNodeServiceImpl.execute(ETLTableBatchWriteNodeServiceImpl.java:115) at cn.restcloud.cdc.debezium.customer.AbstractCDCConsumer.directSendData(AbstractCDCConsumer.java:169) at cn.restcloud.cdc.debezium.customer.AbstractCDCConsumer.runProcess(AbstractCDCConsumer.java:105) at cn.restcloud.cdc.debezium.customer.AbstractCDCConsumer.execute(AbstractCDCConsumer.java:85) at cn.restcloud.cdc.debezium.customer.CDCLocalConsumer.send(CDCLocalConsumer.java:19) at cn.restcloud.cdc.debezium.listener.CDCDebeziumListener.handleBatch(CDCDebeziumListener.java:91) at io.debezium.embedded.ConvertingEngineBuilder.lambda$notifying$2(ConvertingEngineBuilder.java:83) at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:821) at io.debezium.embedded.ConvertingEngineBuilder$2.run(ConvertingEngineBuilder.java:192) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 通过以上信息,可以看到有成功的数据变更捕获,但是数据没有更新成功,源表和目标表都有主键,是有什么组件需要设定ID吗?
没有读取到目标数据库表的主键,可以传给etl的流程试一下,不选直接传到目标表.