Author |
Message
|
anowak |
Posted: Mon Aug 07, 2006 1:46 am Post subject: Distributed transactions (external MSDTC/ Server bindings) |
|
|
Newbie
Joined: 14 Jul 2006 Posts: 8
|
Hello,
So if I understand correctly when my app connects to a Qmgr in "server-mode" (NMQ_MQ_LIB = mqm.dll) . This program can issue a get/put (with synpoint options) AND a SQLServer database insert in a single Unit Of Work (ie distr. trans.)
Unfortunatly I don't seem to get my example up and running. I keep getting the error: MQRC_UOW_ENLISTMENT_ERROR 2354 .
I verified my registry : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL amqmtsxatm.dll = C:\Program Files\IBM\MQSeries\bin\amqmtsxatm.dll
I have put my transaction work ( put msg + insert record into DB) in a COM+ transaction (I'm using the system.Enterprise services for that in .NET2.0).
Am I missing something?
Any help is welcome. Thanks in advance.
Best regards,
Alexander |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Aug 07, 2006 2:06 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'm not sure if SQLServer is one of the databases that supports XA.
Also, you have to do configuration on the queue manager to enable XA. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Aug 07, 2006 2:07 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Also, .NET 2.0 is not supported yet. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
anowak |
Posted: Mon Aug 07, 2006 2:13 am Post subject: |
|
|
Newbie
Joined: 14 Jul 2006 Posts: 8
|
I don't think SQLServer is the issue because I also use Orcale as a RDBMS. I experience the same error there.
What do you actually mean by "configuring the Qmgr for XA"?
In my program I'm using MQPMO_SYNCPOINT options during my put operation.
Isn't this enough ?
Alexander |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Aug 07, 2006 2:23 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
anowak wrote: |
I don't think SQLServer is the issue because I also use Orcale as a RDBMS. I experience the same error there.
What do you actually mean by "configuring the Qmgr for XA"?
In my program I'm using MQPMO_SYNCPOINT options during my put operation.
Isn't this enough ?
Alexander |
No this is not enough. Read the platform specific manuals. There is a "switch" file that you need to build that is DB specific.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mvic |
Posted: Mon Aug 07, 2006 2:38 am Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
fjb_saper wrote: |
There is a "switch" file that you need to build that is DB specific. |
True when you expect MQ to be transaction co-ordinator, but not true when you expect COM+/MSDTC to co-ordinate. I think it's the latter that anowak is trying to achieve.
anowak, supposing you have read all the available information from the Google search ( and also from a search at http://www.ibm.com/software/integration/wmq/support/ ), and are running in a supported environment, you should call IBM and get an answer. |
|
Back to top |
|
 |
anowak |
Posted: Mon Aug 07, 2006 3:01 am Post subject: |
|
|
Newbie
Joined: 14 Jul 2006 Posts: 8
|
I really really really read all Google entries. Downloaded several redbooks etc.
Yes my mail was maybe not clear enough . I wanted to use Microsoft Distributed Transaction coordinator as the external coordinator.
For that , according the IBM technote, you need an entry in the registery to "register" the XA dll (amqmtsxatm.dll) from WMQ with MSDTC.
Because I just starting to learn WMQ, I downloaded V6.0 trail version and installed it with all the defaults. I'm not using the client because, as far as I understand, you can use server bindings and do XA compliant actions.
But may that is only true if you use the WMQ Qmgr as the transaction coordinator?
I also downloading the WMQ V6 client software from the IBM website but I'm afraid that I can not use this in my test environment (win xp sp2 )because the doc mentions a Extended transactional Client (mqic32xa.dll). And that's something you have to pay for .....
See http://www-128.ibm.com/developerworks/forums/dw_forum.jsp?forum=280&cat=9 Transactional Applications multiple resources for the post I issued on their website for help.
Another possible issue is that I'm using .NET 2.0 . The whole point of my execerise is to investigate the possibilities of the newly System.transaction namespace .
My test program doesn't crasch when I use facilities from the syste.Transactions namespace but then again the WMQ actions never enlisted in the transaction started by system.TransactionScope (TX facility)
I saw that because one of my test is to read something from a queue and insert data, distilled from the message, into a database. If the database action fails , I expected the message to stay in the queue ( at least that's what I see in my test program using MSMQ instead of WMQ)
Then again , like i said, I'm new to WMQ
So if you encouter any "stupid" questions, do not immediately shoot me.
Alexander
"WMQ student" |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Aug 07, 2006 3:05 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You need to add the previous version of the .NET libraries for the MQ part.
Version .NET 2.0 is not supported. One of the reasons is as you found out the transaction management ? _________________ MQ & Broker admin |
|
Back to top |
|
 |
|