mybatis에서 프로시저를 호출 하는데 문제가 발생합니다.
- 작성자 :
- 전*섭
- 작성일 :
- 2021-05-26 14:50:00
- 조회수 :
- 8,762
- 구분 :
- 적용지원(기술지원)
- 진행상태 :
- 완료
Q
1. PROCEDURE
procedure 프로시저 명 (IN ID VARCHAR(32), OUT RESULT VARCHAR(4)
2. impl
paramVO.setPs_result("");
dataMapper.callProcedures(paramVO);
3. Mapper
void callProcedures(ParamVO vo);
4. DataMapper.XML
<insert id="callProcedures" statementType="CALLABLE" parameterType="ParamVO">
{CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=OUT,jdbcType=VARCHAR})}
</insert>
이렇게 되어 있는데
1. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=OUT,jdbcType=VARCHAR})}
parameter number 2 is not an OUT parameter
이런 에러 메세지가 나옵니다.
2. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=IN,jdbcType=VARCHAR})}
OUT or INOUT argument 2 for routine PS_OFFSET is not a variable or NEW pseudo-variable in BEFORE trigger
이런 오류메세지가 나오게 되고
3. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR})}
Incorrect number of arguments for PROCEDURE ; expected 2, got 1
이런 메세지가 나옵니다.
프로시저 호출시 IN 데이터 1개와 OUT데이터 1개를 호출하고 싶은데 어디가 문제인지 알 수 있을까요?
procedure 프로시저 명 (IN ID VARCHAR(32), OUT RESULT VARCHAR(4)
2. impl
paramVO.setPs_result("");
dataMapper.callProcedures(paramVO);
3. Mapper
void callProcedures(ParamVO vo);
4. DataMapper.XML
<insert id="callProcedures" statementType="CALLABLE" parameterType="ParamVO">
{CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=OUT,jdbcType=VARCHAR})}
</insert>
이렇게 되어 있는데
1. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=OUT,jdbcType=VARCHAR})}
parameter number 2 is not an OUT parameter
이런 에러 메세지가 나옵니다.
2. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR}, #{ps_result,mode=IN,jdbcType=VARCHAR})}
OUT or INOUT argument 2 for routine PS_OFFSET is not a variable or NEW pseudo-variable in BEFORE trigger
이런 오류메세지가 나오게 되고
3. {CALL 프로시저명(#{ID, mode=IN, jdbcType=VARCHAR})}
Incorrect number of arguments for PROCEDURE ; expected 2, got 1
이런 메세지가 나옵니다.
프로시저 호출시 IN 데이터 1개와 OUT데이터 1개를 호출하고 싶은데 어디가 문제인지 알 수 있을까요?
환경정보
-
- OS 정보 : window
- 표준프레임워크 버전 : 3.5.1 - 64bit
- JDK(JRE) 정보 : 1.8
- WAS 정보 :
- DB 정보 : mysql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
첫번째 오류메시지는
두번째 파라미터가 out 매개변수와 달라서 발생한 것이고
두번째 오류메시지는
2번째 파라미터가 OUT으로 선언되어 있는데
이 프로시저를 호출하면서 해당하는 변수명이 아니라
null이 들어와서 발생한 것이며
세번째 오류메시지는
프로시저를 호출할때 2개의 요소가 매칭되어야 하는데
하나의 요소만 매칭되고 있어서 발생하고 있습니다.
프로시저 호출 형식이 잘못되었다기 보다는
파라미터 설정쪽에서 발생한것으로 보이므로
다시 확인해보시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
첫번째 오류메시지는
두번째 파라미터가 out 매개변수와 달라서 발생한 것이고
두번째 오류메시지는
2번째 파라미터가 OUT으로 선언되어 있는데
이 프로시저를 호출하면서 해당하는 변수명이 아니라
null이 들어와서 발생한 것이며
세번째 오류메시지는
프로시저를 호출할때 2개의 요소가 매칭되어야 하는데
하나의 요소만 매칭되고 있어서 발생하고 있습니다.
프로시저 호출 형식이 잘못되었다기 보다는
파라미터 설정쪽에서 발생한것으로 보이므로
다시 확인해보시기 바랍니다.
감사합니다.