LOCAL SERVER : Window2000 Server , MS-SQL Server2000
REMOTE SERVER : Window NT, MS-SQL Server7.0
위 환경에서 분산트렌젝션을 사용하고자 합니다.
Client Develop Tool 은 Delphi 7.0 입니다. DBE를 사용했구요.
상황...
로컬서버와 리모트서버 둘다 '연결된 서버' 기능을 이용해서 로그인 유저도 만들고 서버추가도 해서
서로간에 테이블도 볼수 있고, 사용자 저장프로시져도 이용할 수 있습니다. 문제는 트렌젝션인데,
로컬서버의 저장프로시져에서 원격지서버의 프로시져를 이용할 경우 분산트렌젝션을 사용해야 하는걸로 알고 있는데, 델파이에서 트렌젝션을 발생시켜도 'RollBack Transaction에 해당하는 Begin Transaction을 찾을수 없습니다.' 란 메세지와 함께 트렌젝션 오류를 발생시킵니다. 물론 저장프로시져 안에서 Set XAct_Abort_On Begin Distributed Transaction ... End Tran 이란 구문을 사용도 해봤구요.
상황은 마찬가지로 됩니다. 그나마 Begin Distributed Transaction을 이용할 경우는 오류메세지가 '분산트렌젝션을 사용할 수 없습니다' 라고 바뀌어서 뜬다는거 말곤 안되긴 마찬가지군요. 어떻게 하면 가능할까요??
<< 서버의 속성 >>
1. 속성의 연결탭에 있는 분산트렌젝션 강제 시작하라는 옵션도 체크했구요...
2. 연결된 서버의 속성에서 RPC, PRC내보내기 모두 체크했구요...
중요한건 저장프로시져는 실행이 잘 된다는것이고, 트렌젝션이 안된다는게 관건인것 같습니다.