FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[4026] Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다.
안명호.ASURADA [asurada] 7393 읽음    2011-01-26 11:48
멀고 험난한 길 님께서 말씀하신데로

A 에서 어떠한 작업을 하고 Commit(트랜잭션 종료 겠죠) 하면  B 에서는 아직 확인이 되지 않습니다. 이 때 B 에서 아무런 작업없이 commit 명령을 수행하면 그제서야 A 에서 작업한 내용이 반영된 것을 확인할 수 있죠. 이게 잘 못 된 것이 아닌가 생각 됩니다.
말씀하신 데로 "A에서 커밋한다는것은 실질적으로 데이터를 적용시킨다는것이지" 라고 하셨는데 그러면 해당 테이블에 물리적으로 기록이 되었다는 것을 의미하는게 아닌가요? 그러면 다른 쪽에서는 그 내용을 확인할 수 있어야 하는게 정상 아닌가요?
isql tool 이 하나의 트랜잭션을 물고 실행되는 것이라 매번 Commit 을 해야만 하는 독특한 특성이 있는게 아닌가 하는 생각도 듭니다.

실제 다른 DBMS 에서 테스트를 해 보았는데 예를 들어 MySQL 의 경우 InnoDB를 사용하면 Transaction 을 사용할 수 있는데 MySQL 에서는 제가 예상한 동작을 하더군요.

하나의 DB 에 두개의 Client 를 연결하고 A 에서 테이블을 생성하면 DDL 명령이기 때문에 자동으로 commit 이 되고 B에서도 해당 테이블을 확인할 수 있습니다.
그리고 A 에서 트랜잭션을 시작(begin) 하고 테이블에 임의의 레코드를 여러개 삽입하였습니다. 삽입을 마치고 B 에서 Query 해 보면 삽입된 레코드가 확인 되지 않았습니다. 당연히 A 의 트랜잭션이 종료되지 않았기 때문에 데이터를 확인할 수 없는 것이겠죠. 그리고 A 의 트랜잭션이 종료 되도록 commit 명령을 수행하면 B 에서는 아무런 조치 없이 Query 만 하면 추가된 레코드를 확인할 수 있었습니다. B에서 수행한 것이라고는 SELECT 문 밖에 없습니다.
이렇게 동작을 해야 하는게 아닌가요?


멀고도험한길 님이 쓰신 글 :
: 트랜잭션을 이용하시면됩니다.
:
: A PC에서 연결.
: B PC에서연결.
: A,B 어디에서도 아무런 작업을하지않으면 내용은같죠.
:
: A에서 insert한다면
: A에서는
:  1.트랜잭션 시작
:  2.쿼리실행
:  3.트랜잭션 종료.
:
: 현재까지는 B에서 어떤작업이 이루어졌는지 알수가 없습니다.
: B에서는
:  1.트랜잭션 종료
:  2.트랜잭션 시작
:  면 앞에서 A가처리한내용을 알수있습니다.
:
: 매번 연결을 종료하지않고 트랜잭션만 다시시작하면 반영된데이터를 얻을수있습니다.
:
: 연결종료후 다시연결한다는게 트랜잭션을 다시시작하는것과 마찮가지입니다..
: A에서 커밋한다는것은 실질적으로 데이터를 적용시킨다는것이지..
: 다른 클라이언트에게 변경되었다고 통보하는게아닙니다.

+ -

관련 글 리스트
4018 [Q] 데이터 적용시점? 궁금하게 있습니다. 안명호.ASURADA 2607 2011/01/24
4031     Re:해답을 찾았습니다.[Q] 데이터 적용시점? 궁금하게 있습니다. 안명호.ASURADA 2859 2011/01/28
4023     Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 멀고도험한길 2606 2011/01/26
4026         Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 안명호.ASURADA 7393 2011/01/26
4029             Re:Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 멀고도험한길 2761 2011/01/26
4021     Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 이즈니 2551 2011/01/25
4022         Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 안명호.ASURADA 2458 2011/01/26
4025             Re:Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 이즈니 2708 2011/01/26
4027                 Re:Re:Re:Re:[Q] 데이터 적용시점? 궁금하게 있습니다. 안명호.ASURADA 2859 2011/01/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.