I am getting following error when COM+ object with required transaction try to communicate with Oracle database.
"Following is the error text….
Communication with the underlying transaction manager has failed. Inner Exception: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B) "
<Transaction(TransactionOption.Required)>
The same code works on some machine and not others.
Have tried firewall (as per google search result). There is no firewall Have tried removing and adding COM+ components. Tried registry cleaner ...
Any inputs is most welcome.
Thanks
I would confirm network DTC access is enabled:
Found the root cause of the issue.
It was to do with the fact that an external database access (to sql server) was being made in the call stack and the SQL Server was blocking MDTC port number. Its now fixed.
EDIT:
When I said it was fixed, as it turned out it wasnt.
In fact the problem was to do with the connection was being enlisted in MSDTC by default. To disable this just add enlist=false; in the connectionstring and it will stop automatically enlist the connection to the MSDTC.
User contributions licensed under CC BY-SA 3.0