Q&A

  • 마이다스에서 트랜잭션 처리요..


ClientDataSet 에 있는 ApplyUpdates 메서드를 사용하면

자동으로 트랜잭션 처리가 되나요..

책에는 너무 간단하게 나와서.. 해도 된다는 건지 잘 모르겠네요..

되면 다행이고.. 아니면 다른 방법이 있으면 부탁합니다..

3  COMMENTS
  • Profile
    김지엽 2001.04.27 04:08
    ApplyUpdate는 Cashed Update 방식을 쓰는 걸 겁니다.

    서버단에서 Transaction을 수행하는 함수를 만들고 데이터베이스 내용 수정을 그 함수를 통해 해야 정확히 'Transaction'방식을 사용하는 겁니다.

    하지만 Cashed Update방식도 그리 나쁜건 아니죠..?

  • Profile
    장지용 2001.04.27 04:28
    김지엽 wrote:

    > ApplyUpdate는 Cashed Update 방식을 쓰는 걸 겁니다.

    > 서버단에서 Transaction을 수행하는 함수를 만들고 데이터베이스 내용 수정을 그 함수를 통해 해야 정확히 'Transaction'방식을 사용하는 겁니다.

    > 하지만 Cashed Update방식도 그리 나쁜건 아니죠..?



    별도의 트랜잭션 루틴을 넣었는데

    ApplyUpdate(0) 에서

    "트랜잭션이 이미 실행 중"이라는 에러 메세지가 뜨거든요..



    염치가 없지만 예제가 있으면 부탁 드립니다.

    그리고 답변 감사합니다.





  • Profile
    김지엽 2001.04.27 18:42
    캐쉬드 엎데이트도 내부적으로는 트랜잭션을 사용할 것입니다. 하기에 그 방식을 사용하면서 동시에 Transaction을 별도로 구현하려고 하면 에러가 날 수 밖에 없지요.



    님이 하시는 작업이 구체적으로 어떤 것인지 몰라서 더 이상 답변이 힘들겠지만요.. 제 짧은 경험으로 볼 때, 가장 안정적으로 DB에 접근하는 방법은, 수행하는 작업을 트랜잭션이 필요한 작업의 작은 덩어리들로 세분화해서 그 덩어리마다 하나씩의 TDataBase를 할당하는 겁니다. 그리고 트랜잭션은 TDatabase별로 필요에 따라서 하면 되는거죠... 캐쉬드 엎데이트는 그런걸 크게 신경쓸 필요 없이 손쉽게 구현할 수 있다는 장점이 있는 것 같습니다.