* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Linux 64bit |
|
9.2.14.0004 |
|
CUBRIDManager-9.3.1.703-windows-i386.exe |
|
java procedure 관련 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
ㅁ 개요
- 오라클의 wm_concat과 유사한 기능이 필요하여 java 클래스를 등록하여 함수를 생성하여 적용하였고,
해당 , 데이터를 조회하는 과정에서 결과 값이 큰 경우(=ROW가 많은 경우),
데이터가 정상적으로 조회되기도, 오류가 발생하기도 합니다.
※ 외부망이 안 되는 곳이라, 적어온 정보만으로 문의를 작성하는 상황인지라
로그 등의 첨부파일을 첨부하지 못하는 점 양해 부탁드립니다.
1) 에러 내용 및 재현 방법
- 함수는 다음 URL을 참고하여 생성하였습니다 (수행 로직 동일)
http://www.cubrid.com/zbxe/48099
2) 재현가능 SQL
- 다음과 같이 쿼리를 하였을 때, 조회되는 단일헹의 길이에
따라, 에러가 발생하는 경우도, 잘 되는 경우도 있습니다.
ㅡ select concatmultirow_withdelimeter( list
( selec rcv_id from tb
where email_sn = '259480'
), '|' )
-> 이메일을 수신한 아이디를 파이프로 이어 붙이는 기능인데요,
주로, 단일행의 길이가 긴 경우에 문제가 발생하는 느낌입니다. (계속 조회해보면 10번은 에러가 나다, 1번은 결과가 나오다.. 그러는 상황)
예를들어, 컨캣된 결과가 56359바이트인 경우 해당 문제가 발생하며, 84바이트인 경우는 문제 없이 잘 되는 듯 합니다.
에러 내용은 다음과 같습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
실행오류 : -889
stored procedure execute error: java.lang.nullpointerexception
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
위 에러가 발생 가능한 예상 원인에는 무엇이 있으며, 조치 방법은 무엇인지에 대해 답변 부탁드리겠습니다.
ㅡ 현재 프로젝트 일정이 여유가 많지 않은데 가급적 빠른 답변 해주셨으면 대단히 감사하겠습니다..
감사합니다.