Re:그리드 엑셀추출 로우수 최대가 몇일까요?

Oracle
작성자
qbteam
작성일
2020-02-12 17:18
조회
243
안녕하세요. ggangjk님.

문의하신 오류는 excel 저장보다는,
쿼리 실행 후 데이터를 fetch 해오는 과정에서 발생한 메모리 부족 오류로 보여집니다.

쿼리박스는 JVM 기반에서 실행되기 때문에, 초기에 설정된 -Xmx 의 설정값에 영향을 받습니다.
또한, 조회하는 테이블의 ROW, COLUMN, 데이터 크기등이 메모리에 영향을 주기 때문에
조회 가능한 로우수를 명확히 말씀드리기는 어렵습니다.

완벽한 해결책은 아니지만, 아래와 같이 조치해 보시기 바랍니다.

첫번째) 쿼리박스 메모리 가용량 증가시키기.
: fetch 로우수를 크게 하기 위해서 -Xmx 의 값을 현재보다 높게 설정합니다.
  1. QueryBox 설치 위치에서 QueryBox.ini 파일을 메모장으로 open 합니다.
    Ex) C:\Program Files\PNP SECURE\QueryBox\QueryBox.ini (기본값)
  2. -Xmx2000M 값을 -Xmx3000M으로 변경합니다.
    => 32bit 버전은 -Xmx1000M으로 되어 있으며  1000M 이상 적용되지 않으니 참고하시기 바랍니다.


두번째) 테이블 데이터를 엑셀로 저장하기.
: MS 공식문서에 따르면 엑셀 워크시트의 최대 row수는 1,048,576 로 되어있으며,
쿼리박스도 이를 지원하고 있습니다. 쿼리박스에서 엑셀로 저장하는 방식은 두가지 입니다.
  1. 쿼리편집기에서 쿼리 실행 후 결과 그리드의 팝업 메뉴를 이용하여 엑셀로 저장합니다.
  2. 데이터내보내기 도구를 이용하여 엑셀로 저장합니다.
    첫번째에서 말씀드린 -Xmx의 메모리를 늘리기 어려운 경우에는 데이터내보내기 도구를 이용하시기 바랍니다.
    하나 이상의 테이블을 선택 처리할 수 있으며,  사용자 쿼리를 직접 입력하여 실행 결과를 엑셀로 저장할 수 있습니다.


 

문제가 해결 되시기를 바라며,
사용에 불편을 드려 죄송합니다.
전체 1

  • 2020-02-13 08:11

    답변 감사합니다. 첫번째로 해결가능하나 싶었는데 오라클 32비트라서 안되는거였네요 ㅠㅠ 아쉽지만 나눠서 하도록 해야겠네요 ㅜㅜ