ERROR io.debezium.relational.TableSchemaBuilder
io.debezium.DebeziumException: Couldn't convert value for column PREVIEWPHOTO at io.debezium.connector.oracle.OracleValueConverters.convertBinary(OracleValueConverters.java:298) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.connector.oracle.OracleValueConverters.lambda$converter$1(OracleValueConverters.java:188) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.TableSchemaBuilder.lambda$createValueGenerator$5(TableSchemaBuilder.java:264) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.TableSchema.valueFromColumnData(TableSchema.java:141) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.RelationalChangeRecordEmitter.emitReadRecord(RelationalChangeRecordEmitter.java:85) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.RelationalChangeRecordEmitter.emitChangeRecords(RelationalChangeRecordEmitter.java:48) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.pipeline.EventDispatcher.dispatchSnapshotEvent(EventDispatcher.java:155) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.RelationalSnapshotChangeEventSource.createDataEventsForTable(RelationalSnapshotChangeEventSource.java:377) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.RelationalSnapshotChangeEventSource.createDataEvents(RelationalSnapshotChangeEventSource.java:305) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:138) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:71) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:110) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_291] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_291] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_291] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_291] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291] Caused by: java.sql.SQLException: 调用中的无效参数: getBytes() at oracle.jdbc.driver.OracleBlob.getBytes(OracleBlob.java:238) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at oracle.sql.BLOB.getBytes(BLOB.java:304) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] at io.debezium.connector.oracle.OracleValueConverters.convertBinary(OracleValueConverters.java:295) ~[blob_p-0e989fef2e43ef14f31be06af8bbdcdca18599ec-18c9b8e546c9cb2d667850681e361a63:?] ... 16 more
楼主你好,这个错误可能是由于Oracle Blob字段类型的数据无法被正确处理所导致的。要解决这个问题,建议使用Debezium提供的自定义转换器来处理这个类型的数据。具体来说,需要实现ValueConverter
接口并提供一个自定义的转换器来将Blob类型转换为Debezium支持的类型。然后,在Debezium配置文件中指定转换器的类名即可。例如:
"transforms": "blob_p",
"transforms.blob_p.type": "com.example.CustomBlobConverter"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。