Q&A

  • Mysql4.0.18 버전에서 Transaction 관련 문제

델파이6+Mysql4.0.18+WinZeos 를 이용하여 프로그래밍 중인데요...

제가 알기로는 Mysql4.0.18에서 InnoDB 타입을 사용하면 트랜잭션이 가능한 것으로 압니다.

제가 Mysql의 환경값을 확인하니 UseInnoDB인가 하는 설정값이 True였습니다.

이 상태에서 'create table .... type = InnoDB] 로 하여 InnoDB 타입으로 테이블을 생성하였습니다.

그리고 Winzeos 컴포넌트와 연동하여 데이터 저장 작업을 하던 중에 이상한 점이 발견되어 질문 드립니다.


try
  Zconnection.StartTransaction;

  {A 테이블 저장
    B 테이블 저장}
  
  Zconnection.Commit;
except
  Zconnection.Rollback;
  ShowMessage('데이터 처리중 에러 발생!');
end;

위처럼 소스를 작성하고 나서 실행할 때 B테이블 저장하는 부분에서 에러가 발생했습니다. 정상적으로는
RollBak이 되어야 하나 테이블을 열어 보았더니 A에만 저장이 되어 버렸습니다.

무엇이 잘못 된 건이지... 답답해 죽겠습니다. 아시는 분 좀 알려주시면 감사하겠습
0  COMMENTS