|
프로그램 테스트 도중 위와같은 런타임 에러가 나네요.
어떤프로그램이냐 하면 테이블에서 조회하고 조회된 데이터를
상대 프로그램에 보내고 해당테이블을 업데이트 합니다.
상대 프로그램에서도 마찬가지이구요
그리고 상대프로그램이 보낸 데이터를 받아서 다시 업데이트 합니다.
상대 프로그램과 데이터를 주고받는건 거의 동시에 이루어 지구요
즉 두개의 프로그램이 양방향으로 데이터를 주고받으면서 각각의 테이블을
업데이트합니다. 물론 프로그램 마다 업데이트 하는 테이블은 틀리구요(데이터베이스는 같음).
그리고 조회데이터 송신 후 업데이트 하는 쓰레드와 수신된 데이터를 업데이트
하는 쓰레드가 있어서 송수신이 거의 동시에 이루어지구요.
근데 이런 작업을 하다보면 중간에 프로그램이 서버립니다.
업데이트작업하는 곳은 트랜젝션을 걸었는데 아마도 거기서 무슨 문제가 있는가 싶습니다.
디버그모드에서 발생하는 에러메세지가 "dbx error Duplicate transaction id" 입니다.
무슨 이유로 이런 에러가 발생하는 걸까요?
해결할 방법은 없는지요?
|