Communication with the underlying transaction manager has failed.
Does anyone know how to resolve this exception.
Exception:
Message: Communication with the underlying transaction manager has failed.
Stack Trace:
System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. > System.Runtime.InteropServi
ces.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 p
ropgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& tran
sactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionS
him& transactionShim)
at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterP
ropigationToken(Byte[] propagationToken)
End of inner exception stack trace
at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterP
ropigationToken(Byte[] propagationToken)
at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTran
saction tx)
at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTrans
action tx)
at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
at System.Transactions.Transaction.Promote()
at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transacti
on transaction)
at System.Transactions.TransactionInterop.GetExportCookie(Transaction transac
tion, Byte[] whereabouts)
at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)
at System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transa
ction)
at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transacti
on transaction)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection ownin
gObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow
ningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou
terConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
…. <<details about my code >>….
Client machine config
XP Pro with SP2
Visual Studio 2005
DTC configured to allow network access
1. Client and Administration Options [Allow Remote Clients and Allow RemoteAdministration] are checked
2. Transaction Managed Communication Options [Allow Inbound and Allow Outbound]are checked
3. Choose the option “No Authentication Required”
4. Enable Transaction Internet Protocol [TIP] Transactions
5. Enable XA Transactions.
Server machine config
Windows2000 with SP4
SQL Server 2005
Model:
Client calls an object, say ObjA, which creates a Transaction Scope and calls a method on another object, say ObjB. ObjB creates a transaction scope with "transaction required" option, inserts a row into a SQL 2005 table and sets the scope complete. {Note: Up to this step code works just fine, No DTC involved}. Then ObjA inserts a record into another SQL 2005 table. The SQL 2005 tables are on the same server and same database. At this point the ObjA code throws an exception when try to open the connection.
In order to take advantage of System.Transaction.TransactionScope, does the SQL Server 2005 installed on Windows 2003 server? [DTC version dependency]
IMPORTANT: Applied all the latest security patches from MS to the client [XP] and server [Win 2000] machine. Code works just fine on the local SQLExpress database.
Thanks.

