Background Image

FORUM

조회 수 10228 추천 수 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 도구 출시 안내 admin 2024.04.23 43
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3894 파일에서 읽어 저장 2 현수 2020.04.09 148
3893 파일 업로드 시 생기는 DB 다운 7 오렌지 2021.06.14 237
3892 파이썬에서 튜토리얼대로 했는데 안됩니다. 2 이방원 2020.08.02 258
3891 파이썬 스크립트로 Cubrid DB에 데이터 저장 문의 큐브릿파이썬 2020.09.08 181
3890 파이썬 라이브러리 설치 질문드립니다. 5 JayHan 2019.09.07 2677
3889 파워빌더10.2에서 ODBC설정에 대한 문제 1 ksk 2009.12.05 22574
3888 파워빌더 큐브리드 연결 1 file 소금인형™ 2009.11.17 14483
3887 파워빌더 odbc 연결중 오류 1 소솜 2015.05.01 15511
3886 파워빌더 10.5 ODBC 연결 오류 2 카이 2009.12.11 19541
3885 파라미터 적용시 성능에 대해 3 secret 로운 2012.11.20 14
3884 파라미터 바인드 문제.. 2 오션나인 2021.06.04 261
3883 특정테이블 조회시 속도 저하문의 2 secret chocob 2014.11.07 13
3882 특정단어 삭제 6 ddmmdd 2023.07.13 165
3881 특정값으로 문자열을 분리하려고 합니다 1 secret 이호영 2016.02.15 8
3880 특정DB만 접근 시간이 현저하게 오래 걸리는 문제 1 file 그로구 2024.03.20 64
3879 특정DB 정지 오류 1 빛날구름 2015.09.21 6299
3878 특정 테이블 최적화 시 에러 발생 3 인경수 2009.07.11 10761
3877 특정 테이블 조회시 에러 가 납니다? 용량 문제 인가요?? 다른테이블은 조회가 잘되요 1 덴드로비움 2020.08.07 687
3876 특정 테이블 복구는 ? 6 file 인경수 2010.06.03 12969
3875 특정 컬럼 조건문 값에서 에러가 발생합니다. 3 청백-e 2015.08.26 8820
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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