Background Image

FORUM

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

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축

-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

안녕하세요.


jdbc통해 프로시저 작업도중


Attempted to operate a query result structure already closed. 이러한 에러가 나면서 종료가 되고 이후에 작업들이 다 멈추는 현상이 나타납니다.


해결 방법에 대해 답변좀 부탁드려요.



  • ?
    권호일 2019.02.25 13:54
    작성해 주신 내용만으로는 원인 파악이 어렵습니다.

    예상으로는 ResultSet 이 close 되어 있어서 next 또는 getString 등을 사용 할 수 없다는 오류로 보여집니다.

    프로시저 원본소스를 올려주면 원인파악에 도움이 될 것 같습니다.
  • ?
    큐브리드_김주현 2019.02.25 13:59
    큐브리를 이용해 주셔서 감사합니다.

    아래 내용 참고해보세요

    ++++++++++++++++++++++++++
    Attempt to access a closed ResultSet(PreparedStatement) 과 같은 오류는 일반적으로
    1. 질의의 사용 후 결과를 가져와 사용 중 commit/rollback을 수행 후 결과를 계속 가져오려 하는 경우 transaction이 종료되어 결과 셑이 닫혀버린 경우
    2. 구조상 한 클라이언트에서 서버로의 질의 수행 후 특정시간(SESSION TIME OUT)동안 서버로의 요청이 없어 서버단의 미들웨어(Broker)에서 연결을 강제 종료 시킨 경우
    위 2가지의 경우 발생할 수 있습니다.

    1의 경우는 주로 한 개의 ResultSet이 close()되기 전에 다른 ResultSet을 생성할 경우 앞의 ResultSet은 autoCommit되어 결과 셑이 닫혀버리면서 발생하는 데 이와 같이 동시에 여러 개의 ResultSet이 필요한 경우엔 autoCommit을 false로 설정해야 합니다.
    예를 들면
    try {
    conn.setAutoCommit(false);
    query1 = "SELECT id FROM sample1";
    pstmt1 = conn.prepareStatement(query1);
    query2 = "SELECT result FROM sample2 WHERE id=?";
    pstmt2 = conn.prepareStatement(query2);

    rs1 = pstmt1.executeQuery();
    while(rs1.next()){
    psmt2.setString(1, rs1.getString("id"));
    rs2 = pstmt2.executeQuery();
    result = rs2.getString("result");
    }
    conn.commit();

    } catch ( Exception e ) {
    conn.rollback();
    } finally {
    if ( conn != null ) conn.close();
    }

    와 같이 상단에서 autoCommit을 false로 설정하고 마지막에 commit()처리를 해주셔야 합니다. 물론 exception이 발생하면 rollback()처리도 해주셔야 합니다.

    2의 경우에는 큐브리드 브로커의 환경설정 중 SESSION_TIMEOUT 설정 값을 크게 늘려주는 방법으로 해결할 수 있습니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views31
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4456
    read more
  3. 운영db 접근이 되지 않아 문의 드립니다

    Date2023.07.20 By찬이 Views99
    Read More
  4. 홈경로 databases.txt 질문드립니다

    Date2023.07.17 By큐브리드드 Views92
    Read More
  5. Cubrid admin 접속 제한 문의드립니다.

    Date2023.07.13 By데굴v Views118
    Read More
  6. 특정단어 삭제

    Date2023.07.13 Byddmmdd Views165
    Read More
  7. error while loading shared libraries: libncurses.so.5 에러 문의 드립니다.

    Date2023.07.10 Bykikiki767 Views1456
    Read More
  8. 다운로드페이지에 CUBRIDManager 11.x windows-x64.exe 는 없는데 .. 다운로드 할 수 있을까요?

    Date2023.07.05 By최라이거 Views274
    Read More
  9. db_class에서 테이블 목록 조회시

    Date2023.07.03 Bycncn Views292
    Read More
  10. 조회쿼리 시간단축

    Date2023.06.30 Byleeee Views98
    Read More
  11. CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요?

    Date2023.06.29 BySDDC사업개발자 Views89
    Read More
  12. CUBRID to Tibero DBLink지원 가능한지 알고싶습니다.

    Date2023.06.28 By공공기관에서사용중1 Views137
    Read More
  13. ELO타입이 무엇인가요?

    Date2023.06.27 Bysobubble Views116
    Read More
  14. 백업파일 받았는데 복구하는 방법을 모르겠습니다.

    Date2023.06.20 ByGgyak Views185
    Read More
  15. UTF8 한글이 깨짐

    Date2023.06.19 Byyonggi Views271
    Read More
  16. 저장 프로스저에 있는 함수 상세보기 문의입니다.

    Date2023.06.12 By대출인생30년 Views82
    Read More
  17. MERGE INTO 속도 개선 문의

    Date2023.06.12 Byleeee Views129
    Read More
  18. NX_transcation

    Date2023.06.12 Byyoo Views79
    Read More
  19. cubrid cursor.close() 에러 관련질문

    Date2023.06.08 By힘내자화이팅 Views186
    Read More
  20. merge 쿼리 속도개선

    Date2023.06.08 Byleeee Views109
    Read More
  21. 브로커(CAS)수 질문드립니다!

    Date2023.06.05 By요시니 Views152
    Read More
  22. 데이터 이관 문의입니다.

    Date2023.05.30 Bykipo0821 Views129
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

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