Oracle Procedure 에서 cursor 타입 결과를 받는 부분 오류있는지 확인 요청 - 결과가 null, 오류메시지 없음
- 작성자 :
- 이*원
- 작성일 :
- 2022-08-29 16:28:51
- 조회수 :
- 921
- 구분 :
- 개발환경 / 3.7
- 진행상태 :
- 완료
Q
1. 결과 메시지
- [2022/08/29 16:20:23.223] [INFO ] [jdbc.sqltiming : {CALL PROC_TESTLDW('64854','<OUT>') }
2. sqlMapper 부분 ( recNo = 64854)
<resultMap id="RC1" type="HashMap" >
<result property="AA" column="AA" jdbcType="VARCHAR" javaType="String"/>
<result property="BB" column="BB" jdbcType="VARCHAR" javaType="String"/>
</resultMap>
<select id="selectAsmTableData" parameterType="mData" resultType="HashMap" statementType="CALLABLE">
<![CDATA[
{CALL PROC_TESTLDW(#{recNo},#{RC1, mode=OUT, jdbcType=CURSOR, javaType=java.sql.ResultSet, resultMap=RC1})
}
]]>
</select>
3. procedure
CREATE OR REPLACE PROCEDURE CLI.PROC_TESTLDW
(
PARA IN VARCHAR2,
RC1 OUT SYS_REFCURSOR
)
IS
V_CNT NUMBER(3) := 0;
BEGIN
BEGIN
OPEN RC1 FOR
SELECT PARA AA, PARA BB
FROM DUAL
UNION ALL
SELECT PARA AA, PARA BB
FROM DUAL
;
END;
END PROC_TESTLDW;
- [2022/08/29 16:20:23.223] [INFO ] [jdbc.sqltiming : {CALL PROC_TESTLDW('64854','<OUT>') }
2. sqlMapper 부분 ( recNo = 64854)
<resultMap id="RC1" type="HashMap" >
<result property="AA" column="AA" jdbcType="VARCHAR" javaType="String"/>
<result property="BB" column="BB" jdbcType="VARCHAR" javaType="String"/>
</resultMap>
<select id="selectAsmTableData" parameterType="mData" resultType="HashMap" statementType="CALLABLE">
<![CDATA[
{CALL PROC_TESTLDW(#{recNo},#{RC1, mode=OUT, jdbcType=CURSOR, javaType=java.sql.ResultSet, resultMap=RC1})
}
]]>
</select>
3. procedure
CREATE OR REPLACE PROCEDURE CLI.PROC_TESTLDW
(
PARA IN VARCHAR2,
RC1 OUT SYS_REFCURSOR
)
IS
V_CNT NUMBER(3) := 0;
BEGIN
BEGIN
OPEN RC1 FOR
SELECT PARA AA, PARA BB
FROM DUAL
UNION ALL
SELECT PARA AA, PARA BB
FROM DUAL
;
END;
END PROC_TESTLDW;
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 : 3.7
- JDK(JRE) 정보 : 1.8
- WAS 정보 : apache-tomcat-9.0.40
- DB 정보 : oracle 11g
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
어느 단계에서 문제가 발생했는지에 대한 확인이 메시지만으로는 정확히 되지 않는 부분이 존재하므로
결과를 받아오는지 결과 확인에 앞서, 우선 작성하신 프로시저가 정상적으로 실행되는지
선행 테스트를 진행하신 후 전체 테스트를 진행하시는 것이 좋을 것으로 판단됩니다.
감사합니다.
표준프레임워크센터입니다.
어느 단계에서 문제가 발생했는지에 대한 확인이 메시지만으로는 정확히 되지 않는 부분이 존재하므로
결과를 받아오는지 결과 확인에 앞서, 우선 작성하신 프로시저가 정상적으로 실행되는지
선행 테스트를 진행하신 후 전체 테스트를 진행하시는 것이 좋을 것으로 판단됩니다.
감사합니다.