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 55
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
1135 substr 질의결과 2 file agkim 2013.09.27 10157
1134 데이터 추출 관련 질문입니다. 5 노스 2010.09.08 10157
1133 큰 자리수 연산 문의 1 초콜릿75 2013.08.01 10163
1132 comment 기능 질문입니다. 1 Hnyy.J 2017.01.24 10165
1131 라이선스 관련 문의 할게 있습니다. 1 이프 2010.04.16 10169
1130 migration tool을 이용해 마이그레이션 작업 중 테이블의 데이터 적재 실패 문제 6 엔하늘 2011.07.11 10172
1129 ODBC, OLEDB 별도 설치 방법좀 알려주세요... 4 배우자.. 2009.08.16 10177
1128 중국어 XP에서는 큐브리드 ODBC를 사용 할 수 없나요?? 5 푸른잔디 2009.12.10 10178
1127 migration 후 EntityGraph 기능 에러 관련 문의드립니다. 1 file 박종훈 2016.06.22 10184
1126 테이블 파티션 문의 4 초보 2010.04.09 10186
1125 큐브리드용 웹보드 문의 5 유니콘 2011.01.27 10190
1124 다중 (3중) 조인의 경우, 조인 키 순서에 따라 join 의 종류가 달라지나요? 5 신비로운입 2018.12.24 10195
1123 함수 사용시 한글 깨짐 현상 2 펌피 2016.06.28 10197
1122 큐브리드에서 오라클로 연동할 수 있나요? 1 현쥬리 2009.11.02 10198
1121 Visual Basic 관련 문의 1 방랑아 2009.06.19 10206
1120 ibatis에서 create문 생성 1 file kkong 2017.03.01 10207
1119 텍스트 데이터의 검색관련 해서 질문합니다. 1 나이즈 2016.07.11 10208
1118 큐브리드 커넥션 유지 시간 1 초보 2010.02.02 10218
1117 테이블 필드 추가 후 위치변경 하기 2 건빵 2010.11.29 10222
1116 weblogic 연결시 에러 발생 1 다솜마루 2014.02.18 10223
Board Pagination Prev 1 ... 139 140 141 142 143 144 145 146 147 148 ... 200 Next
/ 200

Contact Cubrid

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