Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Connect 2026! Turn data into bold moves, April 13 -15: Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Oracle "Invalid Column Type"

When trying to do a simple tOracleInput -> tMap -> tOracleOutput flow, I'm getting the following error:
Exception in component tOracleOutput_1
java.sql.SQLException: Invalid column type

I've made sure that the source schema definition is exactly the same as the target schema definition (by pressing "Sync Columns"), but the error continues.
I'm wondering if the JAVA - Object --> Oracle Varchar2 mapping is causing the problem. Anyone experience the same thing?
Labels (3)
14 Replies
Anonymous
Not applicable
Author

Hello
I'm wondering if the JAVA - Object --> Oracle Varchar2 mapping is causing the problem. Anyone experience the same thing?

From your image, I see all the datatype mapping are right.
JAVA - Object mapping Oracle BLOB/CLOB
JAVA -String mapping Oracle char/varchar2
You can go to preferences-->Talend-->Specific Setting--.>Metadata of TalendType -->mapping_Oracle.xml and see the datatype mapping.
Best regards

shong
Anonymous
Not applicable
Author

If the mappings are correct, what am I to do? It sounds like I shouldn't be getting this error. Any suggestions?
Anonymous
Not applicable
Author

Hello
Please show me the whole error trace, i don't know which line of code throws error. Can you export the job and send it to via email? I will debug the job.
Best regards

shong
Anonymous
Not applicable
Author

Hi, here is the full message:
Exception in component tOracleOutput_1
java.sql.SQLException: Invalid column type
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3433)
at oracle.jdbc.driver.OraclePreparedStatement.setNullCritical(OraclePreparedStatement.java:4261)
at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:4250)
at migrate_stage_to_production.incorrect_mapping_0_1.incorrect_mapping.tOracleInput_1Process(incorrect_mapping.java:2270)
at migrate_stage_to_production.incorrect_mapping_0_1.incorrect_mapping.runJobInTOS(incorrect_mapping.java:2591)
at migrate_stage_to_production.incorrect_mapping_0_1.incorrect_mapping.main(incorrect_mapping.java:2471)
Job incorrect_mapping ended at 00:38 27/09/2009.

How do you want me to export the job? Do I export as a war? Any autonomous job?
Anonymous
Not applicable
Author

Hello guy
How do you want me to export the job? Do I export as a war? Any autonomous job?

Right click on the job name and select 'export job scripts' option to export a autonomous job. Aslo, please tell me which version of TOS do you use?
Best regards

shong
Anonymous
Not applicable
Author

SHONG -
I sent you the file. Perhaps I should send it again?
Anonymous
Not applicable
Author

For your BLOB/CLOB fields try using a Byte[] array instead of Object for Java type.
Anonymous
Not applicable
Author

I tried this and still get "java.sql.SQLException: Invalid column type: sqlType=2003". Would you be willing to show some screenshots of a successful byte[] to CLOB/BLOL mapping?
Anonymous
Not applicable
Author

This seems to be a common problem, I'm trying to insert data from a text file into a CLOB on Oracle and get the same error, I can't find any solution on the forums. Talend (3.2.0)
#Edit
I am using the following workaround for importing a text file (comma delimited). I make it look at each file as a single line, then insert the line:
Add a delimiter in front of the very first line (I'm using /#).
Then read the file as a delimited file using the above delimiter as the row delimiter.
This seems to work. The tMap field is object and loads into a CLOB on Oracle.
Regards