2010-06-15 4 views
3

내 코드에서 Entity Framework를 사용하여 TransactionScope를 사용하여 트랜잭션을 사용하려고합니다. 이 트랜잭션에서는 별도의 서버 및 데이터베이스에 대한 일반 SQL 연결을 열고 있습니다.엔티티 프레임 워크가있는 MSDTC 및 다중 데이터베이스

"Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Componet Services Administrative tool."

그러나 MSDTC를 활성화하고 서버에서 실행중인 경우 : conn.Open()가 호출 될 때 우리는 오류가 발생합니다.

답변

2

1) DTC가 실행되고 있음을 실제로 확인했는지 확인하십시오. 구성 요소 서비스 화면에서 "내 컴퓨터"를 마우스 오른쪽 단추로 클릭하십시오. 최상위 메뉴 항목에 "Stop DTC"라고 표시되어야합니다.

2) MSDTC의 구성이 양쪽 (데이터베이스 및 데이터베이스 서버에 연결을 시작하는 응용 프로그램 서버)에서 동일하다는 점을 확인 했습니까? 또한 방화벽 당신의 MSTDC 탭

행운

+0

두 SQL Server를 모두 사용할 수 있지만 MSDTC 탭의 보안 구성은 네트워크 트랜잭션에 사용하도록 설정되지 않았습니다. 일단 포트를 열면 작동했습니다. –

1

웹 서버와 SQL Server 모두에서 MS DTC를 사용하도록 설정하고 두 컴퓨터 모두에서 원격 트랜잭션을 사용하도록 설정해야합니다. 내 블로그에 Windows 2003Windows 2008에 대한 워크 스루가 있습니다.

0

확인 아래에있는 보안 구성에 특별한주의를 기울이십시오. 전날 밤에 운영되었던 Windows Update 작업이 Windows 방화벽의 기본값을 복원했음을 발견 한 적이 한 번있었습니다.

관련 문제