Five Stars

The code of method tOracleInput_1Process is exceeding the 65535 bytes

Hi,

I am using toracleInput component to retreive data from database. While
running I am getting error "The code of method
tOracleInput_1Process(Map<String,Object>) is exceeding the 65535 bytes
limit". So please let me know how to resolve the same/increase the limit.

My job containts only 2 components toracleinput, toracleoutput. Job is simple retrieve data from 1 database and load to another database.

 

 

Thanks,

Durga Devi

7 REPLIES
Five Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Please find my flow as below

code limit issue.png

Ten Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

This is a limit built into Java, and cannot be changed. Are you pulling a large number of columns with your tOracleInput?
Five Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Yes I am pulling almost 500+ columns. In this case what needs to be done?

Moderator

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Hello,

Please take a look at this KB article about:https://help.talend.com/display/KB/Exception%3A+Exceeding+the+65535+bytes+limit to see if the solution is OK with you.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Twelve Stars TRF
Twelve Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Hi,

If the problem is due to the number of columns used in the tOracleInput component, you can split it in 2 or 3 pieces and rebuild the whole flow with a tMap but the risk is to move the problem to the next "fat" component.

In this case you need to elaborate a more sophisticated solution, maybe based on multiple subjobs with a subset of fields for each (1st subjob for insert with all mandatory fields, others to update records inserted in the 1st step).

Also think about a well designed error strategy (for ex. if an error occurs during an update for a record in the 2nd subjob, should you delete the record because it is not completed?).

 

Hope this helps,

 


TRF
Five Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Thanks all for your response.

Could you please let me know max columns allowed in toracleinput component. 

i.e At the max, how many columns can be retrieved? And max. bytes allowed as a string in "context parameter".

Twelve Stars TRF
Twelve Stars

Re: The code of method tOracleInput_1Process is exceeding the 65535 bytes

Don't think the question is about the of column. However, I'm sure you can have more than 120 (experienced).
For strings size have a look at http://stackoverflow.com/questions/31206851/how-much-memory-does-a-string-use-in-java-8

TRF