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

请问 Flink CDC是不支持Oracle中文表名列名的同步吗?

在使用Flink CDC 同步Oracle的时候,由于Oracle表名和列名是中文,报错如下:”Caused by: io.debezium.DebeziumException: com.ververica.cdc.connectors.shaded.org.apache.kafka.connect.errors.ConnectException: The Kafka Connect schema name 'oracle_logminer.hub.结算记录.Value' is not a valid Avro schema name and its replacement 'oracle_logminer.ZLHIS.__.Value' conflicts with another different schema 'oracle_logminer.hub.费用记录.Value'
at io.debezium.relational.RelationalSnapshotChangeEventSource.lambda$createSchemaChangeEventsForTables$2(RelationalSnapshotChangeEventSource.java:277)
at io.debezium.pipeline.EventDispatcher.dispatchSchemaChangeEvent(EventDispatcher.java:297)
at io.debezium.relational.RelationalSnapshotChangeEventSource.createSchemaChangeEventsForTables(RelationalSnapshotChangeEventSource.java:272)
at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:125)
at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:69)
... 6 more
Caused by: com.ververica.cdc.connectors.shaded.org.apache.kafka.connect.errors.ConnectException: The Kafka Connect schema name 'oracle_logminer.hub.结算记录.Value' is not a valid Avro schema name and its replacement 'oracle_logminer.ZLHIS.__.Value' conflicts with another different schema 'oracle_logminer.hub.费用记录.Value'
at io.debezium.util.SchemaNameAdjuster.lambda$create$0(SchemaNameAdjuster.java:151)
at io.debezium.util.SchemaNameAdjuster.lambda$create$1(SchemaNameAdjuster.java:168)
at io.debezium.util.SchemaNameAdjuster$ReplacementOccurred.lambda$firstTimeOnly$0(SchemaNameAdjuster.java:103)
at io.debezium.util.SchemaNameAdjuster.validFullname(SchemaNameAdjuster.java:331)
at io.debezium.util.SchemaNameAdjuster.lambda$create$5(SchemaNameAdjuster.java:201)
at io.debezium.relational.TableSchemaBuilder.create(TableSchemaBuilder.java:104)
at io.debezium.relational.RelationalDatabaseSchema.buildAndRegisterSchema(RelationalDatabaseSchema.java:130)
at io.debezium.c”请问 Flink CDC是不支持Oracle中文表名列名的同步吗?

展开
收起
cuicuicuic 2023-12-11 13:45:45 36 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,Flink CDC不支持Oracle中文表名列名的同步。在处理Oracle数据库时,如果表名或列名包含非ASCII字符(如中文),可能会导致Kafka Connect抛出异常。为了解决这个问题,可以尝试以下方法:

    1. 将Oracle表名和列名转换为ASCII字符。可以使用Python或其他编程语言编写脚本来实现这一点。

    2. 修改Flink CDC的配置,允许使用非ASCII字符作为表名和列名。这可能需要修改Debezium Connector的源代码或配置文件。

    3. 使用其他支持Oracle中文表名和列名的CDC工具,如Apache NiFi、Talend等。这些工具可能已经解决了这个问题,或者提供了相应的解决方案。

    2023-12-12 14:39:45
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
    PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
    Oracle云上最佳实践 立即下载

    相关镜像