Teradata Connector For Multistream

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
shershahkhan
Participant
Posts: 64
Joined: Fri Jan 25, 2008 4:41 am

Teradata Connector For Multistream

Post by shershahkhan »

I am trying to insert/update into same table using different stream using Teradata connector stage. Ristriction is i can't redesign the job i need to use multistream using Teradata connector
----------------------------------------------------------------
Teradata Connector
1) Multi stream one doing insert other update
2) Same table operation
3) Different Error/Log and work table names
4) error RDMS Code 2574 : Table being MLOADED
---------------------------------------------------------------
MLOAD Stage
1) Multi stream one doing insert other update
2) Same table operation
3) Different Error/Log and work table names also differnt report/contorl file
4) runs sucessfully
------------------------------------------------------------------
Do anyone know how to make it work.
toshea
Participant
Posts: 79
Joined: Thu Aug 14, 2008 6:46 pm

Post by toshea »

You cannot have two MultiLoad utilities or TPT Update operators loading the same table simultaneously, because MultiLoad and the TPT Update operator lock the target table (which is why you got error 2574 : Table being MLOADED). You must either use the TPump utility, the connector's Stream operator, or the connector's Immediate access method. Those load methods use row hash locks instead of table locks.
shershahkhan
Participant
Posts: 64
Joined: Fri Jan 25, 2008 4:41 am

Post by shershahkhan »

I can load same table with two MLOAD streams at the same time(Server jobs), one may wait for the other but it do work. can i do same trick in TPT stage, like setting some tanacity value so that one go into sleep state while the other stream is loading into the table
toshea
Participant
Posts: 79
Joined: Thu Aug 14, 2008 6:46 pm

Post by toshea »

Unfortunately, no. While MultiLoad does have a TABLEWAIT option that allows you to make one MultiLoad wait for the other to finish, the TPT API used by the Teradata Connector does not support such an option. If you want to use the MultiLoad utility, you'll have to use the Teradata MultiLoad stage and specify the TABLEWAIT option in the "Other BEGIN (M)LOAD Clauses" field. If you want to use the Teradata Connector, your only option is to either use the Stream load type or specify the Access method as Immediate.
Post Reply