Q&A

  • Rollback 이 부분적으로만 되요 .
Delphi 7, ms-sql 2000을 사용하고 있고요.

StartTransaction
try

   Commit;
except
  Rollback;
end;

이런식으로 사용하고 Rollback를 시키고 있는데요.
문제는 Rollback이 이루어질때 다른것들은 정상적으로
Rollback이 되고 있는데 Query를 Prepare 해서 사용한 Sql들은
Rollback이 안되요.
다른것들은 정상적으로 Rollback 이 잘되거든요.
프로그램 몇년간 해봤지만 ms-sql은 해본지 별로 안되서
다른 이유가 있는지 알려주세요.
2  COMMENTS
  • Profile
    지니 2004.02.03 21:02
    결국에는 며칠간 고생하다가 원인을 찾았습니다.
    제가 ms-sql을 BDE로 연결할때 Alias 를 ODBC를 이용해서 생성
    했거든요.
    그래서 그런 에러가 발생하더군요.
    아무래도 ODBC 버그인것 같습니다.

    ODBC를 이용하지 않고 Native를 이용해서 Alias 를 생성하니까
    전혀 문제가 없더군요.
  • Profile
    손희석 2004.01.27 20:56

    다른 것들은 ADO개체로 프로그램 한  경우는 개체가 트랜잭션을 관리해서 될겁니다.
    하지만 쿼리컴포넌트는 조금 다릅니다. 2000에서는 쿼리문 자체로 트랙잭션을
    관리하기도 한답니다..
    쿼리문으로 Transaction 시작 구문이 있을거에요.. 저도 자세히는 모르지만
    그럴거 같아서 한자 적어 봅니다. 그럼 도움이 되었으면 좋겠네요 ^^
    허접글 이었습니다.
    그럼 즐프되세요.