Hi,
I have a requirement to update a Db2 table, i am using ODBC stage to perform this update, I need to handle rejects and so i am using ODBC stage to do it as this stage can capture the rejects,
When trying to update, the job fails with below error message
APT_CombinedOperatorController(2),0: Fatal Error: [DataDirect][ODBC DB2 Wire Protocol driver][UDB DB2 for OS/390 and z/OS]FAILED EXECUTION DUE TO DEADLOCK/TIMEOUT. REASON 00C90088 TYPE 00000302. DBUYNG03.SBUYTTM .X'00006A'
I have validated that there are no duplicates(based on table's key columns)
in the input data which will get updated.
If the execution mode is changed to Sequential from Default(parallel), the job completes fine, Is there any reason for this issue?
There are no other jobs that are accessing the table which may result in a deadlock. Kindly help to understand the reason for the failure when executed job in Parallel mode.
error loading DB2 table using ODBC stage
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 597
- Joined: Fri Apr 29, 2005 6:19 am
- Location: Singapore
-
- Participant
- Posts: 597
- Joined: Fri Apr 29, 2005 6:19 am
- Location: Singapore
For e.g. you can't have the below update SQL in parallel mode.
Assume table X has 100000 records with COL2 value as ' yy'.
This is a sample scenario where you face DEADLOCK.
To overcome this, pass the primary key as well to your UPDATE statement.
Assume table X has 100000 records with COL2 value as ' yy'.
Code: Select all
UPDATE X set COL1= 'zz' where COL2 = 'yy'
To overcome this, pass the primary key as well to your UPDATE statement.
Code: Select all
UPDATE X set COL1 = 'zz' where COL2 = 'yy' and PRIMARYKEY = incomingPRIMARYKEY [i.e. :1 or orchestrate.primarykeyfieldname or :? etc]
Kandy
_________________
Try and Try again…You will succeed atlast!!
_________________
Try and Try again…You will succeed atlast!!
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact: