* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window7 32bit, Linux 64bit 등 |
|
[cubrid_rel] 수행 결과 |
|
[도움말]-[버전정보] 확인 |
|
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
음 제목과 같이 1개의 자바파일 안에서
여러개의 테이블을 조회하고
수천건의 insert문과
2,3 건의 delete 문을 실행하는 파일을 생성하고
해당 파일을 프로시저로 등록하여 사용하려고 하는데요.
직접 JAVA 파일을 실행 시키면 30 초 ~ 1분 정도 소요가 됩니다.
해당 쿼리문들이 실행중에 오류가 날 경우 rollback 시킬수 있는 방법이 있나요 ? (트랜젝션 처리)
아니면 스케줄러나 다른 방법으로 구현을 해야 할까요 ?
안녕하세요.
Java_stored_procedure(SP)사용시 트랜젝션 처리는 크게 2가지로 구분할 수 있습니다.
서버 내부 JDBC사용시와 다른 데이터베이스 연결시로
내부 JDBC사용시는 해당 SP을 호출한 트랜잭션에 종속되어 실행 중 오류 발생시 자동 ROLLBACK 처리되며
외부 데이터베이스 사용시는 외부 connection을 얻는 것으로 해당 SP을 호출한 트렌잭션에 종속적이지 않아
COMMIT, ROLLBACK을 명시 하여 트랜젝션 처리 하셔야 합니다.
자세한 내용은 아래 참조 하십시오
http://www.cubrid.org/manual/ko/9.3.0/sql/jsp.html#jdbc
감사합니다.