Saturday, December 12, 2009

Distributed Transaction Coordinator(DTC) and Windows Vista

At one of my clients, I have the ‘luck’ to work with a DB2 database environment. After upgrading my system to Vista, I saw this heuristic processing error below:

[IBM][CLI Driver][DB2] SQL0998N Error occurred during transaction or
heuristic processing. Reason Code = "16". Subcode = "3-8004D00E".
SQLSTATE=58005


From previous experiences, I learned it is caused by the distributed transaction coordinator that is always used when you’re opening a DB2 transaction inside a transactionscope.  By default in Vista, MSDTC settings are all locked down.  A blog post here describes how to use the dcomcnfg command to enable Inbound, Outbound and enable XA Transactions. 



Enabling XA transactions and both inbound and outbound connections solved the problem.

No comments: