& # 8220; La comunicación con el administrador de transacciones subyacente ha fallado & # 8221; mensaje de error
-
03-07-2019 - |
Pregunta
Un cliente nuestro recientemente ha actualizado una aplicación web ASP.NET 1.1 a ASP.NET que usa el procesamiento de transacciones COM + y recibió la siguiente excepción al intentar procesar una transacción:
Tipo de excepción: System.Transactions.TransactionManagerCommunicationException
Mensaje: Comunicación con el administrador de transacciones subyacente tiene fallado.Tipo de excepción interna: System.Runtime.InteropServices.COMException Código de error: -2147467259
Mensaje: Error HRESULT E_FAIL ha sido devuelto de una llamada a un componente COM.
Aquí están las siguientes configuraciones en la configuración de seguridad de MSDTC:
- Acceso a la red DTC
- Permitir entrante
- Permitir salientes
- Se requiere autenticación de llamante entrante
Una estación de trabajo con Windows XP SP3 está intentando establecer una conexión con una máquina con Windows Server 2003.
¿Alguien más ha experimentado este error y sabe cómo resolverlo?
Solución
Necesitará tener habilitado el acceso DTC a la red tanto en su estación de trabajo XP como en su máquina con Windows 2003. Además, si su aplicación solo se publica internamente, puede desactivar la autenticación de la persona que llama y establecerla en " sin autenticación " ;.
Otros consejos
Agregue C: \ Windows \ msdtc.exe a las excepciones de firewall tanto en el firewall como en el servidor. Pasé las edades haciendo monos alrededor de abrir números de puertos específicos y rangos en vano antes de hacer esto.
1) Deshabilite la autenticación además de habilitar el acceso de red a " Coordinación de transacciones distribuidas " Servicio (la autenticación mutua no & # 8217; t funciona como se muestra en internet en máquinas xp sp3)
2) habilitar el acceso a la red en las máquinas cliente (aplicación web) y servidor (servidor SQL) para " coordinación de transacciones distribuidas " servicio.
También deberá asegurarse de que su firewall esté abierto para los puertos 135 y 5000-5020.
Vea estos: http: // social .msdn.microsoft.com / forums / es-US / windowstransactionsprogramming / thread / 71f7a219-c85d-4a04-973b-c73464f59606 / http://blogs.msdn.com/florinlazar/archive/ 2005/09/16 / 469064.aspx http: // social .msdn.microsoft.com / forums / en-US / architecturegeneral / thread / 7731d7a7-a9ad-42e7-b0bb-f3656b870304 / http://support.microsoft.com/kb/154596/
En caso de que necesite ayuda para encontrar la configuración de MSDTC mencionada en las otras respuestas (como hice yo), el siguiente enlace explica cómo configurar MSDTC en el servidor 2003.
http: //itknowledgeexchange.techtarget .com / sql-server / how-to-configure-dtc-on-windows-2003 /