Talend Open Studio 不支持的数据转换
Talend Open Studio Unsupported Data Conversion
我刚刚开始使用 Talend Open Studio 将数据从多个数据库迁移到一个仓库中。
目前正致力于将数据从 OpenEdge Progress 迁移到 Postgres SQL.
我已经能够成功连接数据源并更新了查询,因此找到了所有 table。我目前遇到的问题是当我尝试实际利用数据时。
我创建了一个简单的输出只是为了查看数据,但我收到了不支持的数据转换错误。
Data Connection to 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.convertToAvro(JDBCAvroRegistry.java:492)
at org.talend.components.common.avro.JDBCAvroRegistry.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.convertToAvro(JDBCAvroRegistry.java:486)
... 10 more
我已经使用了 openedge.jar 文件并检查并验证了日期字段。对此的任何帮助都会非常有用。
这是我正在使用的 table 的数据结构:
Data Structure of Table
我首先从负载中删除字段,然后 re-running 它以缩小违规字段的范围。我怀疑你的 byte[] 数组。从那开始。然后也许下一个日期。一旦我们缩小了这个范围,我们就可以尝试找出实际的转换错误以及如何处理它。
我刚刚开始使用 Talend Open Studio 将数据从多个数据库迁移到一个仓库中。
目前正致力于将数据从 OpenEdge Progress 迁移到 Postgres SQL.
我已经能够成功连接数据源并更新了查询,因此找到了所有 table。我目前遇到的问题是当我尝试实际利用数据时。
我创建了一个简单的输出只是为了查看数据,但我收到了不支持的数据转换错误。
Data Connection to 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.convertToAvro(JDBCAvroRegistry.java:492)
at org.talend.components.common.avro.JDBCAvroRegistry.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.convertToAvro(JDBCAvroRegistry.java:486)
... 10 more
我已经使用了 openedge.jar 文件并检查并验证了日期字段。对此的任何帮助都会非常有用。
这是我正在使用的 table 的数据结构: Data Structure of Table
我首先从负载中删除字段,然后 re-running 它以缩小违规字段的范围。我怀疑你的 byte[] 数组。从那开始。然后也许下一个日期。一旦我们缩小了这个范围,我们就可以尝试找出实际的转换错误以及如何处理它。