문제

동일한 서버의 여러 데이터베이스에 걸쳐있는 트랜잭션을 실행하는 응용 프로그램이 있습니다. 당연히 여기에는 Microsoft 분산 트랜잭션 코디네이터가 포함되며 모든 것이 예상되는 것처럼 작동합니다.

Howver, VPN을 통해 서버가 호스팅되는 네트워크에 원격으로 연결하고 로컬 컴퓨터에서 응용 프로그램을 실행할 때 다음 오류가 발생합니다.

System.Transactions.TransactionManagerCommunicationException: "기본 거래 관리자와의 커뮤니케이션이 실패했습니다."

원인 :

System.runtime.interopservices.comexception : 오류 hresult e_fail이 호출에서 COM 구성 요소로 반환되었습니다.

다음은 원래 예외를위한 스택 추적입니다.

AT SYSTEM.TRANSACTIONS.OLETX.IDTCPROXYSHIMFACTORY.RECEIVETRANSACTION (UINT32 PropgationTokensize, Byte [] PropgationToken, intptr Managedidentifier, Guid & TransactionIndifier, OletxTransactionIsolationLevel 및 ItransactionShim & TransactionShim)
at System.Transactions.TransactionInterop.getOletXtransactionFromTransTippropigationToken (Byte [] PropagationToken)

문제가 발생합니다 VPN 터널을 통해 서버에 연결할 때만.
또한 MSDTC를 차단하지 않도록 로컬 컴퓨터에 일시적으로 비활성화 된 Windows 방화벽이 있습니다.

VPN을 통해 MSDTC를 실행할 때 어떤 문제가 있는지 아는 사람이 있습니까?

도움이 되었습니까?

해결책

VPN 연결을 관리합니까? VPN에 제한된 포트가있을 수 있습니다. 마찬가지로 서버를 관리합니까? 서버는 VPN 서비스에 사용되는 세그먼트가 아닌 내부의 IP 주소에서만 연결할 수 있습니다. 귀하가 관리자 인 경우 아마도 사용중인 VPN 소프트웨어가 도움이 될 것입니다.

다른 팁

DTCPing을 실행하는 것이 좋습니다 (Microsoft 사이트의 어딘가에서 사용할 수 있음)는 두 기계에서 동시에 실행되며 모든 방식의 DTC 문제를 감지하는 것이 좋습니다.

실제로 지침을 읽고 시작 테스트 버튼을 클릭하기 전에 테스트의 양면을 시작할 때 까지이 도구에 큰 어려움을 겪었습니다.

Windows 7 X64 클라이언트와 서버 2003R2 서버를 사용하는 동일한 문제가 있습니다. XP, Vista X86 및 Windows 7 X86을 사용하여 (동일한 VPN, 동일한 서버에서) 작동 할 수있었습니다. 나는 Microsoft Open과 지원 전화를 걸고 있으며 그것들을 조사하고 있습니다. 궁금한 점이 있습니다. 고객이 클라이언트 기계에 어떤 운영 체제를 사용하고 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top