2017-02-08 2 views
0

J'ai deux systèmes, l'un Windows 7 Enterprise dans lequel mon application est installée et l'autre Windows Server 2008 R Sp1 où la base de données est intsllaed.La communication avec le gestionnaire de transactions sous-jacent a échoué.MSDTC

Obtention d'une erreur en-dessous lors de l'accès à la base de données ommunication ayant échoué avec le gestionnaire de transactions sous-jacent. Le gestionnaire de transactions MSDTC n'a pas pu retirer la transaction du gestionnaire de transactions source en raison de problèmes de communication. Les causes possibles sont: un pare-feu est présent et il n'y a pas d'exception pour le processus MSDTC, les deux machines ne peuvent pas se trouver par leurs noms NetBIOS ou le support des transactions réseau n'est pas activé pour l'un des deux gestionnaires de transactions.

J'ai déjà activé les demandes MSDTC et entrantes et sortantes requises et ne pas définir d'authentification.

Les deux systèmes sont dans le même domaine. À partir de la machine Windows Server 2008 R2, je suis capable de faire un ping par nom à Windows 7 et vice-versa ne se produit pas.

Essayé de piner Windows Server 2008 R2 Machine à partir de la machine du contrôleur de domaine et a échoué.

Certains où lisent que pour Trasactions entre les deux serveurs MSDTC doit être mis en place et de tester ces paramètres outil DTCPing est avaialble.got a échoué lors de l'exécution

outil DTCPing lorsque vous essayez de ping à partir de Windows Server 2007 machine Windows serveur 2008 R2 comme il n'est pas en mesure de le trouver par nom netbios

Répondre

0

J'ai eu le même problème gagner ma machine win10. Vérifiez les étapes suivantes:

services => Distributed Transaction Coordinator est en cours d'exécution

Component Services => DTC local => Propriétés => vérifier si entrant et sortant est autorisé. J'ai les paramètres suivants: Local DTc

Services de composants => Poste de travail => Propriétés => Protocole par défaut => TCP/IP La plage de ports 5000-5100 est configurée.

port range 5000-5100

Pare-feu Windows => Autoriser une application ou une fonction pare-feu Windows => Distributed Transaction Coordinator

Distributed Transaction Coordinator

si les cases threee ne sont pas définies, vous pouvez le faire avec les commandes suivantes

netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (TCP-In)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (TCP-Out)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (RPC)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (RPC-EPMAP)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (TCP-In)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (TCP-Out)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (RPC)" new enable=yes profile="domain,private,public" 
netsh advfirewall firewall set rule name="Distributed Transaction Coordinator (RPC-EPMAP)" new enable=yes profile="domain,private,public"