in

Platinum Bay

Peace, Love and Visual Studio Team System

.NETicated

Two-Phase MQ Commit From .NET

Awhile back, I was building a .NET application which needed to do two-phase commit between MS SQL 2000 and MQSeries (5.3 CSD04 on production). I had the 5.3 CSD05 client installed on my dev box, and the SQL code worked out. But I couldn't figure out how to implement the MQ Series 2-phase commit in .NET.

Here's what I learned:

  • You cannot do Two-Phase commit with a normal client, regardless of what platform. You can only do XA transactions with either a server application or with the Extended Transactional Client (which is not free).
  • The 5.3 extended transactional client does not support MTS/COM+ transactions.
  • SQL Server can't directly use XS (database) support.
  • SQL server CAN be involved in a DTC transaction in COM+/MTS, and you can only do COM+ DTC coordination if you are coordinating to an MQ server. You need a server installed on the Windows machine and work out a way of routing messages appropriately.

Since that point I have found several more helpful articles:

MQ from .NET by Bill O'Brien

.NET and MQSeries by Dino Chiesa

MQSeries.NET by Neil Kolban

MQ Posts by DotNetInterop

Published Apr 26 2007, 08:09 PM by Steve
Filed under: ,

Comments

April 27, 2007 12:08 PM

The posts covering MQ on the DotNetInterop blog were made by Dino Chiesa, not Dino Esposito!  

 

April 27, 2007 2:53 PM

^ (hangs head low), thanks!  I changed it.

 

Leave a Comment

(required )  
(optional )
(required )  
Add

About Steve

Steve Andrews has been working as a developer for more than 8 years. During this time, he has designed and developed applications in such widely varying areas as trust accounting, medical information management, supply chain management, and retail systems. He has firsthand developer experience with a variety of languages, including Java, VB, and .NET. Most recently, he has been immersed in SharePoint. He is currently employed at RDA Corporation in Philadelphia, PA, as a Software Engineer and a team member in the Architectural Guidance evangelism team. Steve is also an MTCS (x2), ICSOO, and .NET fanatic.
Powered by Community Server (Commercial Edition), by Telligent Systems
© Platinum Bay | Some Rights Reserved Creative Commons License

Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever (abusive, profane, rude, or annonymous comments) - so keep it polite, please.