开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

oracle blob 类型的数据同步怎么处理啊

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

展开
收起
游客3oewgrzrf6o5c 2022-06-30 18:29:43 704 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,这个错误可能是由于Oracle Blob字段类型的数据无法被正确处理所导致的。要解决这个问题,建议使用Debezium提供的自定义转换器来处理这个类型的数据。具体来说,需要实现ValueConverter接口并提供一个自定义的转换器来将Blob类型转换为Debezium支持的类型。然后,在Debezium配置文件中指定转换器的类名即可。例如:

    "transforms": "blob_p",
    "transforms.blob_p.type": "com.example.CustomBlobConverter"
    
    2023-07-31 09:17:32
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
PostgresChina2018_刘成伟_oracle到Postgres数据库迁移工具 立即下载
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载

相关镜像