Hi All, I am begineer to Talend and struggling with data transformation.I have created two Oracle connections one being source db i.e. MX52REF and other being target i.e. MAXSTG.I am selecting records from source db and applying a fliter preceded by tMap for transformation.This transformed data is pushed in to table as LOCATIONS75.After which I am commiting and closing the connection.I have attached screenshot of my job as below. when I run this job, it stops after sometimes with throwing error as : connecting to socket on port 4055 connected connecting to socket on port 4493 connected ORA-01722: invalid number disconnected disconnected However I can see all 30 rows are transformed and all components are ok.Still there are no records inserted in LOCATIONS75 table. My question is : is there any way can we find which record has caused 'invalid number' error?
First of all, don't use onComponentOk for the commit processing. Use onSubjobOk of the start component of the sub job! Set the commit size of the output component to 1 and connect the connection creation with onSubjobOk withe the transfer subjob. For your tests it the the best way to let the output component create its own connection. Now every good dataset should find its way into the table.
OnComponentOk is fine for the commit but you should use OnSubjobOK or OnComponentOK from one tOracleConnection to the next and then to tOracleInput to ensure these are executed in the correct order. Also no need to set commit to every 1 (which you can't do when using tOracleConnection anyway and is much slower). To find the row that's causing the problem, just connect a Rejects flow from tOracleOutput to tLogRow.