김백일 님이 쓰신 글 :
:
: IBX를 쓰시는 경우시죠?
: 저도 IBX를 처음 썼을 때 고민하던 문제가 이거였지요.
: 알고보니 방법은 정말 간단하더군요.
:
: (다음 설명은 C++빌더 IBX의 경우입니다.)
:
: 현재 사용하는 트랜잭션 객체가 IBTransaction1이라면
: (보통 TIBDatabase::DefaultTransaction의 속성을 IBTransaction1로 지정하겠지요.)
:
: IBTransaction1->CommitRetaining();
: 을 쓰면 커밋이 되고, 연결은 그대로 지속됩니다.
:
: 만약,
: IBTransaction1->Commit();
: 을 사용하면 커밋을 한 후에 연결이 끊어져 버리므로 다시 연결을 해야합니다.
문제는 a와 b라는 시스템이 있다고 가정하면
a와 b의 시스템에서는 프로그램을 실행한 후 a에서 하나를 추가하면 b에서 그 내용을
볼수 있어야 하는데 b에서 테이블을 열고 닫아도 내용을 볼수 없고
a와 b프로그램을 닫고 다시 실행하면 보입니다.
현재는 midas의 소켓을 이용하여 서버와 연결하도록 하였습니다.
IBtransaction1->CommitRataining(); 는 서버쪽 Active-X의 TDataSetProvider의 AfterApplyUpdates event 에 설정되도록 해 놓았습니다.
|