FORUM

조회 수 10948 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

VB 6.0   ADODB 로 프로그래밍 중입니다

 

abcd 라는 테이블에 컬럼이 aaa 라고 있고 varchar(100) 입니다

 

이 테이블에는 데이터가

111

222

333

 

이렇게 3 row 가 있습니다

 

vb 상에서

 


    Conn.BeginTrans
   
    SQL = "insert into abcd(aaa) values ('444');"
    call Conn.Execute(SQL)
   
    SQL = "insert into abcd(aaa) values ('555');"

    call Conn.Execute(SQL)


    SQL = "insert into abcd(aaa) values ('666');"
    call Conn.Execute(SQL)

    Conn.CommitTrans
   

코드를 이렇게 작성하였는데  CommitTrans 직전에 (CommitTrans 하기전에) 브레이트 포인트를 걸고

질의편집기에서 확인해 보니 444~666 까지 다 인서트가 되어 있더군요

 

CommitTrans 를 하니까 역시나 444~ 666까지 그대로 있었고, CommitTrans 가 아닌 RollbackTrans 를 하게 되면

RollbackTrans 직전에 테이블을 보면 444~666 까지 인서트가 되어 있는데 RollbackTrans 를 하면

111~333 까지만 나옵니다

 

제가 하고자 하는 작업은 트랜잭션을 걸어서 인서트를 하는 동안에는 인서트 하고 있는 내용이 다른사람의

SELECT 작업시에 나오지 않다가, 커밋을 하게 되면 그때 나오게 하는 방법이 있는지 궁금합니다

 

위 작업을 예로 들면

 

CommitTrans 직전에 (CommitTrans 하기전에) 브레이트 포인트를 걸고

질의편집기에서 확인해 보면 111~333 까지만 나오고,

CommitTrans  한 다음 확인해 보면 111~666 까지 나오게 할 수 있는건지 알고 싶습니다

 

제가 말주변이 없어서 제 질문의도가 글에 잘 나타났는지 모르겠네요 다시 설명하자면,

제가 인서트 또는 업데이트 작업 도중에 테이블을 일종의 잠금(?) 설정을 하여서, 다른 사람들은

제가 작업 완료전에는 작업전 데이터만 보여지게 하고 제가 작업완료 명령을 내린 후에

인서트나 업데이트한 내용이 다른사람에게 보여지게 할 수 있는지 입니다

 

참고로 질의편집기는 dba 권한으로 실행하였고, vb 에서는 따로 아이디를 만들어서 접속하였습니다

 

  • ?
    유니콘 2011.03.03 03:40

    update 도 마찬가지네요 커밋하기 전인데 이미 업데이트가 되어 버리네요

  • ?
    cubebridge 2011.03.05 02:44

    아래의 사항은  cubrid.conf에 parameter로 관리되는 부분입니다. 아래의 설정에 따라 transaction수준이 변동되게 되어 있는데 default는 "REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES"입니다.

    원하시는 transaction수준 설정을 위해서는 "REPEATABLE READ CLASS with READ COMMITTED INSTANCES"으로 변경해 주시면 됩니다. 관련한 자료를 아래와 같이 첨부하며, 해당 내용은 온라인 메뉴얼에서 확인하실 수 있습니다.

    CUBRID가 지원하는 격리 수준

    격리 수준 이름

    설명

    SERIALIZABLE (6)

    모든 동시성 관련한 모든 문제들(더티 읽기, 반복 불가능한 읽기, 유령 읽기)이 발생하지 않는다

    REPEATABLE READ CLASS with 
    REPEATABLE READ INSTANCES
     (5)

    트랜잭션 T1이 테이블 A를 조회하는 중에 다른 트랜잭션 T2가 테이블 A의 스키마를 갱신할 수 없다.
    트랜잭션 T1이 특정 레코드를 여러 번 조회하는 중에, 다른 트랜잭션 T2가 삽입한 레코드 R에 대한 유령 읽기를 경험할 수 있다.

    REPEATABLE READ CLASS with 
    READ COMMITTED INSTANCES

    (or CURSOR STABILITY) (4)

    트랜잭션 T1이 테이블 A를 조회하는 중에 다른 트랜잭션 T2가 테이블 A의 스키마를 갱신할 수 없다.
    트랜잭션 T1이 레코드 R을 여러 번 조회하는 중에, 다른 트랜잭션 T2가 갱신하고 커밋한 R' 읽기(반복 불가능한 읽기)를 경험할 수 있다.

    REPEATABLE READ CLASS with 
    READ UNCOMMITTED INSTANCES
     (3)

    격리 수준 디폴트 값.
    트랜잭션 T1이 테이블 A를 조회하는 중에, 다른 트랜잭션 T2가 테이블 A의 스키마를 갱신할 수 없다.
    트랜잭션 T1이 다른 트랜잭션 T2가 갱신한 후 커밋하지 않은 레코드 R' 읽기(더티 읽기)를 경험할 수 있다.

    READ COMMITTED CLASS with 
    READ COMMITTED INSTANCES
     (2)

    트랜잭션 T1이 테이블 A를 여러 번 조회하는 중에, 다른 트랜잭션 T2가 스키마를 갱신하고 커밋한 테이블 A' 읽기(반복 불가능한 읽기)를 경험할 수도 있다.
    트랜잭션 T1이 레코드 R을 여러 번 조회하는 중에, 다른 트랜잭션 T2가 갱신하고 커밋한 R' 읽기(반복 불가능한 읽기)를 경험할 수 있다.

    READ COMMITTED CLASS with 
    READ UNCOMMITTED INSTANCES
     (1)

    트랜잭션 T1이 테이블 A를 여러 번 조회하는 중에, 다른 트랜잭션 T2가 스키마를 갱신하고 커밋한 테이블 A' 읽기(반복 불가능한 읽기)를 경험할 수도 있다.
    트랜잭션 T1이 다른 트랜잭션 T2가 갱신한 후 커밋하지 않은 레코드 R' 읽기(더티 읽기)를 경험할 수 있다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 12 admin 2024.04.23 48517
937 백업한 DB를 다른 이름의 DB로 풀고 싶을때.... 1 유니콘 2011.03.21 9489
936 cubrid Exception 문의 1 GAGA_YOON 2011.03.16 9691
935 매니저 질의 편집기 글자색깔 문의 드립니다 1 file 유니콘 2011.03.15 8801
934 cubridprovider.dll 배포 질문 드립니다 1 유니콘 2011.03.10 10748
933 큐브리드매니저 접속 문제 5 ykh 2011.03.09 12583
932 한 ROW 의 크기를 알 수 있는 방법이 있나요? 2 유니콘 2011.03.09 11525
931 큐브리드 설치오류 4 몽유객 2011.03.08 12471
930 백업 자동화에 관해 질문드립니다 4 file 유니콘 2011.03.08 9480
929 3.0 패치 2는 언제쯤 나올까요? 1 유니콘 2011.03.03 8864
» 트랜잭션과 커밋에 관한 질문 2 유니콘 2011.03.03 10948
927 windows 2008 R2(64bit) 서버에서 php사용시 큐브리드 모듈 사용 질문 1 김우람 2011.03.03 13554
926 백업을 실행하면 에러가 뜹니다. 1 지니보이 2011.03.02 8627
925 PHP 커넥션 실패 문의 1 무리링 2011.03.02 10371
924 JDBC에서 like 문 사용 방법은? 5 별솔아범 2011.03.01 16462
923 에러메시지 문의 드립니다 1 file 유니콘 2011.03.01 9934
922 네트워크 공사로 서버 ip가 변경 되었습니다. 1 file 이즈 2011.03.01 8475
921 설정 환경 복구 방법 1 이주하 2011.03.01 9345
920 큐브리드 언로드와 로그방법을 알려주세요 6 SoMa 2011.03.01 9081
919 큐브리드 버전과 빌드 문의 1 crkim2k 2011.02.28 7680
918 큐브리드 데이터베이스 복구 1 차도여리 2011.02.28 10172
Board Pagination Prev 1 ... 159 160 161 162 163 164 165 166 167 168 ... 210 Next
/ 210

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

나눔고딕 사이트로 가기

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5