Five Stars

Could not update staging data

I have to merge 3 staging table (PRPS, PROJ and JEST)  into a target table (WBE) . At the end of update run with success I have to update the staging table field (DAELAB) with a timestamp.

So i defined a job like in fig1 and added the staging table (PRPS) as output of tMap element

The timestamp field (DAELAB) is mapped with a value from staging table (DATASAP) for simplicity (i could use in alternative a getCurrDate fucncion).

When i run the job the logs appears correct as in fig3 but when looking the target database the staging table PRPS is not updated and the field DAELAB contains null intead of 1 as shown in log.

What i'm missing ?


stg1.PNGfig1stg2.PNGfig2stg3.PNGfig3

 

5 REPLIES
Moderator

Re: Could not update staging data

Hello,

Is there any rejected row from your staging table PRPS? Could you please indicate on which talend build version you got this issue?

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.
Five Stars

Re: Could not update staging data

Hello, 

I'm using build 6.5.1.20180116_1512  and no , there are no rejected records.

 

Now I've temporary solved this issue using a different approach :

 

tOracle objects for upserting data into destination tables and tELTOracle objects to update read flag in input

tables as in figure :

 

talend6.PNG

 

It seems to me (I'm new to Talend) that tOracle objects have a limitation that doesn't allow to update a source table.

Twelve Stars

Re: Could not update staging data

could you check the input column dataypes and output data types for torcaleouput(where you were updating)?

Manohar B
Twelve Stars

Re: Could not update staging data

And also check that you were not checked Updatable for key field in tOracleOutput(while updating)

Manohar B
Five Stars

Re: Could not update staging data

hello,

 

the column that tOracleOutput doesn't update is a Date oracle type.

I use a formula in order to update this field  : TalendDate.getCurrentDate() 

but this filed in the source table in not updated.

 

With tELTOracleOuput i put instead a simply sysdate value from DUAL dummy table.