One Star

Catch Oracle error into a table

Hi all,
I'm a new Talend user (TOS 4.2), and I'd like to understand how to catch Oracle errors into a table.
My first job is quite simple :
tFileInput -------> tMap -------> tOracleOutput
What I want is just to catch Oracle error ("value too large for column" for example) in another tOracleOutput.
I tried to uncheck the "Die on error" option in tMap parameters, and to link like this :
tMap ---(ErrorRejet link) ----> tOracleOutput2
but I can't make it works (in the tMap can't manage this "errorMessage" and "errorStackTrace" in the tMap editor)
Any help would be very appreciated...
Thanks
David
4 REPLIES
One Star

Re: Catch Oracle error into a table

Hi David,
To catch "value too large for column" errors you can attach a row to the tOracleOutput itself.
To make this work you should deselect Die on Error in the tOracleOutput, and then right-click the component, select Row en click Reject.
You can now connect this reject row to another tMap and perform error handling (e.g. storing the row in another table).
Good luck!
Arno
One Star

Re: Catch Oracle error into a table

Thank you Arno for your quick answer,
I'm sorry, but I'm not sure to understand it clearly.
deselect Die on Error in the tOracleOutput => Ok
After that, right-click on the component : I can't see any "reject" row type ??
Maybe I have to do something else, obvious for you... but not for me ;-).
Thank you for your patience !
David
One Star

Re: Catch Oracle error into a table

Hi David,
I'm not sure which option triggers the reject option, but my attached screenshots are of a tOracleOutput with the Reject row enabled (as seen in screenshot 3)
I think it's in disabling "Use existing connection" and disabling "Die on Error"
Good luck,
Arno
One Star

Re: Catch Oracle error into a table

:/ ... Strange.
In my project, the reject row (from tOracleOutput) only appears when the "Use existing connection" is enabled...
But in that case, it doesn't work at all
David