问题描述
我刚刚开始使用Talend Open Studio将数据从多个数据库迁移到单个仓库中。
目前正在将数据从OpenEdge Progress迁移到Postgres sql。
我已经能够成功连接数据源并更新了查询,因此可以找到所有表。我目前遇到的问题是当我尝试实际利用数据时。
我已经创建了一个简单的输出,仅用于查看数据,并得到了不受支持的数据转换错误。
这是错误:
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文件,并进行了遍历并验证了日期字段。任何帮助都将非常有用。
这是我正在使用的表的数据结构: Data Structure of Table
解决方法
我首先从负载中删除字段,然后重新运行它以缩小有问题的字段。我怀疑您的byte []数组。从那开始。然后可能是下一个约会。一旦缩小范围,我们就可以尝试找出实际的转换错误以及如何处理。