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.