首页 > 解决方案 > Talend Open Studio 不支持的数据转换

问题描述

我刚刚开始使用 Talend Open Studio 将数据从多个数据库迁移到一个仓库。
目前正在将数据从 OpenEdge Progress 迁移到 Postgres SQL。

我已经能够成功连接数据源并更新查询,以便找到所有表。我目前遇到的问题是当我试图实际利用数据时。

我创建了一个简单的输出,只是为了查看数据并收到不支持的数据转换错误。

与 LogRow 的数据连接

这是错误:

Exception in component tDBInput_1 (Customer)
org.talend.components.api.exception.ComponentException: UNEXPECTED_EXCEPTION:{message=UNEXPECTED_EXCEPTION}
    at org.talend.components.jdbc.CommonUtils.newComponentException(CommonUtils.java:583)
    at org.talend.components.jdbc.runtime.reader.JDBCInputReader.start(JDBCInputReader.java:241)
    at org.talend.codegen.flowvariables.runtime.FlowVariablesReader.start(FlowVariablesReader.java:73)
    at local_project.customer_0_1.Customer.tDBInput_1Process(Customer.java:2418)
    at local_project.customer_0_1.Customer.runJobInTOS(Customer.java:3314)
    at local_project.customer_0_1.Customer.main(Customer.java:3163)
Caused by: org.talend.components.api.exception.ComponentException: UNEXPECTED_EXCEPTION
    at org.talend.components.common.avro.JDBCAvroRegistry$14.convertToAvro(JDBCAvroRegistry.java:492)
    at org.talend.components.common.avro.JDBCAvroRegistry$14.convertToAvro(JDBCAvroRegistry.java:481)
    at org.talend.components.common.avro.JDBCResultSetIndexedRecordConverter$ResultSetIndexedRecord.<init>(JDBCResultSetIndexedRecordConverter.java:104)
    at org.talend.components.common.avro.JDBCResultSetIndexedRecordConverter.convertToAvro(JDBCResultSetIndexedRecordConverter.java:82)
    at org.talend.components.common.avro.JDBCResultSetIndexedRecordConverter.convertToAvro(JDBCResultSetIndexedRecordConverter.java:23)
    at org.talend.components.jdbc.runtime.reader.JDBCInputReader.haveNext(JDBCInputReader.java:250)
    at org.talend.components.jdbc.runtime.reader.JDBCInputReader.start(JDBCInputReader.java:237)
    ... 4 more
Caused by: java.sql.SQLException: [DataDirect][OpenEdge JDBC Driver]Unsupported data conversion.
    at com.ddtek.jdbc.openedgebase.ddb9.b(Unknown Source)
    at com.ddtek.jdbc.openedgebase.ddb9.a(Unknown Source)
    at com.ddtek.jdbc.openedgebase.ddb8.b(Unknown Source)
    at com.ddtek.jdbc.openedgebase.ddb8.a(Unknown Source)
    at com.ddtek.jdbc.openedgebase.ddah.a(Unknown Source)
    at com.ddtek.jdbc.openedgebase.ddah.a(Unknown Source)
    at com.ddtek.jdbc.openedgebase.dddm.getBytes(Unknown Source)
    at org.talend.components.common.avro.JDBCAvroRegistry$14.convertToAvro(JDBCAvroRegistry.java:486)
    ... 10 more

我已经使用了 opensge.jar 文件,并通过并验证了日期字段。对此的任何帮助都会非常有用。

这是我正在使用 的表的数据结构:表的数据结构

标签: talendopenedge

解决方案


我首先从负载中删除字段并重新运行它以缩小有问题的字段。我怀疑你的 byte[] 数组。从那开始。然后也许下次约会。一旦我们缩小范围,我们就可以尝试找出实际的转换错误以及如何处理它。


推荐阅读