MSDTC, .Net 2.0, DB2 and Heuristic Processing continued...

In my previous post, I mentioned how to change to the OLEDB connection pooling defaults after receiving the heuristic processing error below:

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

After applying that fix and rebooting, I expected things to get going again like they did under XP.  Unfortunately not!  I found that in Vista, MSDTC settings are all locked down.  A blog post describes how to use the dcomcnfg command to enable Inbound, Outbound and enable XA Transactions. 

I found this after noticing an event log entry that showed all the MSDTC properties (including XA support which I'd dealt with previously) as being disabled

 

MS DTC started with the following settings (OFF = 0 and ON = 1):

  Filtering Duplicate events = 1
 Security Configuration:
      Network Administration of Transactions = 0,
      Network Clients = 0,
      Inbound Distributed Transactions using Native MSDTC Protocol = 0,
      Outbound Distributed Transactions using Native MSDTC Protocol = 0,
      Transaction Internet Protocol (TIP) = 0,
      XA Transactions = 0

 

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

( It's probably worth mentioning that this all started after enabling WCF transactions on a public web service. )


Posted 07-16-2007 5:39 AM by Ben Scott
Copyright © 2005-2007 Schmurgon Pty Ltd
Powered by Community Server (Non-Commercial Edition), by Telligent Systems