I want to know whether VB Supports global unit of work with MQSeries.
If Yes How to do it?
I tried by the following way.
In my VB application I have put a message into a queue with
MQPMO_SYNCPOINT option and updating a DB2 table using the ADO
connection's execute method. The ADO execute method is commtting
the record automatically(if is issue and MQBACK also). The MQSeries
Version is 5.1 and the DB2 version is 7. Is there any other way of
doing this.
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
If your VB application is a client to the queue manager (i.e. exists on a remote machine) then you will not be able to use global transactions. If the client is local, you should be able to achieve what you want by:
1. Issuing an MQBEGIN API call at the start of the logical unit of work
2. Defining your database as an XA controlled resource manager to the queue manager.
Please review the MQ Admin guide on the subject of transactions.
The MQPMO_SYNCPOINT simply says put the message to the queue under syncpoint. You can then later commit this (MQCMMIT) or roll it back (MQBACK). This will coordinate ONLY the queue manage unless you are also in a global transaction scope with an MQBEGIN
My VB application is local only. I have gone through the MQ Admin Guide
and got the idea. But one clarification,(i.e) there is no QM.INI file in the
system. There are 3 Queue managers are running. Where the QM.INI file will
be stored and when the file is created or can we create the file.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum