Search code examples
talendopenedge

Talend Open Studio Unsupported Data Conversion


I have just started using Talend Open Studio to migrate data from multiple databases into a single warehouse.
Currently working on migrating data from OpenEdge Progress to Postgres SQL.

I have been able to get the datasources connected successfully and updated the queries so find all the tables. The issue I am currently having though is when I am trying to actually utilize the data.

I have created a simple output just to view the data and am getting Unsupported Data Conversion Errors.

Data Connection to LogRow

And this is the error:

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

I have the openedge.jar file already used and gone through and verified the date fields. Any help with this would be very useful.

This is the data structure of the table I am working with: Data Structure of Table


Solution

  • I'd start by removing the fields from the load and re-running it to narrow down the offending field. I'm suspicious of your byte[] array. Start with that. Then maybe dates next. Once we narrow this down, then we can try to figure out the actual conversion error and how to deal with it.