This post originated from an RSS feed registered with .NET Buzz
by Sam Gentile.
Original Post: Important: Enterprise Services/COM+, Distributed Transactions, and Windows Server 2003
Feed Title: Sam Gentile's Blog
Feed URL: http://samgentile.com/blog/Rss.aspx
Feed Description: .NET and Software Development from an experienced perspective - .NET/CLR, Rotor, Interop, MC+/C++, COM+, ES, Mac OS X, Extreme Programming and More!
2. Distributed transactions do NOT work on Windows Server 2003 (COM+ 1.5). As you have seen from my tests and results, I have had to make this conclusion. We have exercised every available option regarding what's documented (and some of what's not documented) trying to figure out what's wrong, but it appears distributed transactions on Windows Server 2003 do not work.
Me: Whatsmore, its not at all an Oracle issue. Its a Microsoft DTC issue on Win2K3 even with all the hacks you have to do. In fact, SQL Server distributed transactions in this scenario do not really work either (you might hit or miss get them to work with hundreds of man hours of effort - do a Google search and you will see how many people can't get it to work).
Recommendation: If you are facing a similar situation, my recommendation at this point regarding Windows Server 2003 is to break up your distributed transactions into multiple local transactions, placing explicit checks at each point to check the results before moving to the next local transaction. Consistently, I have found that local transactions per each database connection work flawlessly, and within COM+, if I have every database connection except one marked with "Enlist=false", it works as well But, if you try to enlist all database connections within a distributed transaction using COM+ or ES and MSDTC on Windows Server 2003, it will fail.