
Transaction trouble around Exchange and others
Can anyone help
Win2k sp2/VB6/COM+/MSMQ2/SQL2k/E2k sp1
From a standard exe I create a VB6 component that requires transaction
Within this component
I select from SQL2k, enabling commit at the end of proc
I open an MSMQ queue and receive current within MQ_MTS_Transaction, enabling
commit at end of proc
I open a CDO Ex object, ie CDO.datasource.open, enabling commit at end of
proc
I send the CDO message, CDO.send, enabling commit at end of proc
I write to an MSMQ, enabling commit at end of proc
I complete the transaction using set complete
First problem is I create 2 transactions, second one of them aborts, thirdly
I get an rpc error after the set complete coming back to the exe.The error
which is an assertion failure, !m_punk on MS says I need the latest service
pack, which on Win2k I have. The cdo message is sent, the queue isnt
received from nor written to, ie successful rollback
If I dont open a cdo message but just create a fake one, I dont get the rpc
error , which would appear to say that the implicit connection for exchange
is creating some havoc, starting a new transaction that then cant be
completed.
My next move is to move the opening the cdo message to a class that requires
no transactions but this is just a hit in the dark, anyone got any clues on
this one
TIA