Oracle enterprise Stage / different result with upsert mode

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
fred_j
Participant
Posts: 2
Joined: Mon Jan 26, 2009 10:04 am

Oracle enterprise Stage / different result with upsert mode

Post by fred_j »

Hello,

Using the Oracle enterprise stage in Load mode and Upsert Mode gets a different result when it should not.
Taget Table is empty.
All keys are unique in the source.

1) When i use the Load mode, all rows of the source are inserted (around 294.000 rows)
2) When i use the upsert mode, (the update key is ok ;-) ) around 6000 rows are rejected ; checking Oracle trace file, it seems to proceed Updates (when there is no reason) and then the oracle error 1438 occurs.

Questions :
1) The load mode creates a Oracle log file in the Scratchdirectory. Where is the Upsert Mode log file ?

2) do you know why the upsert mode tries to proceed updates in a empty table with unique keys in the source ??

Thank for you need help...

regards
keshav0307
Premium Member
Premium Member
Posts: 783
Joined: Mon Jan 16, 2006 10:17 pm
Location: Sydney, Australia

Post by keshav0307 »

do you know why the upsert mode tries to proceed updates in a empty table with unique keys in the source ??
after certain point, its not an empty table, there is a parameter for it to set after how many records it will be committed.
fred_j
Participant
Posts: 2
Joined: Mon Jan 26, 2009 10:04 am

Post by fred_j »

Hello.

Finally i solved the problem.... shame on me !!! it was so evident that i was blind.

One of the fields of the target table was to small.
The load mode set NULL instead of the value that is to large and so loads all rows.
The Upsert Mode rejects rows because it generates sql statments which don't allow to insert values larger than the fields lengh.

Anyway TY for your help

regards
Post Reply