MSDTC and COM+ with Oracle database on Unix based server error out

0

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

unix
odp.net
com+
msdtc
asked on Stack Overflow Mar 31, 2015 by daehaai

2 Answers

1

I would confirm network DTC access is enabled:

enter image description here

answered on Stack Overflow Apr 1, 2015 by b_levitt
0

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.

answered on Stack Overflow Apr 27, 2015 by daehaai • edited May 6, 2015 by daehaai

User contributions licensed under CC BY-SA 3.0