안녕하세요 웹개발자로 일하고 있는 일반 직장인 입니다.^^
가입 한 후 첫글이 질문성 글이라 죄송합니다 ㅠ.. 급한데 도움을 얻을 수 있는곳이 마땅치않아..ㅠ
본론으로 들어가겠습니다!
이번에 포스트그레스로 포팅을 하게 되어서 작업을 하는 도중 알 수 없는 문제점이 생겨서 이렇게
질문글을 올리게 되었습니다.
제가 궁금한것은 다름이 아닌 프로시저에 관련한 것입니다.
우선 사용중인 프레임웤은 아이바티스를 사용하고 있습니다. 포스트그레스 버전은 9.2 버전이구요.
구글 및 여러곳을 찾아서 프로시저 구문을 등록하였습니다만, 웹에서 프로시저를 호출할때엔 오류가 나고
직접 인자에 값을 넣어서 호출을 하면 잘되고 있어요.. ㅠ
에러 내용은
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in ../config/sqlmap/POSTGRESQL_SqlMap_RTMS_RECEIVE.xml.
--- The error occurred while applying a parameter map.
--- Check the SqlMap_RTMS_RECEIVE.retryQueueParameters.
--- Check the statement (update procedure failed).
--- Cause: org.postgresql.util.PSQLException: A CallableStatement function was executed and the out parameter 2 was of type java.sql.Types=12 however type java.sql.Types=-99999999 was registered.
이러한 내용입니다.
프로시저 구문은 현재 테스트 중인 구문을 올려 보겠습니다.
CREATE OR REPLACE FUNCTION proc_regretry(p_mid varchar, p_subid integer, p_rid varchar, p_rname varchar, p_rmail varchar, nCount OUT integer, errMsg OUT VARCHAR, errCode OUT VARCHAR
)AS
$BODY$
DECLARE
BEGIN
--select count(*) into nCount from rtms_resultlog WHERE MID = p_mid AND SUBID = p_subid;
UPDATE RTMS_RESULTLOG SET LASTFLG = 0 WHERE MID = p_mid AND SUBID = p_subid;
if not found then
nCount := -1;
return;
end if;
--nCount := 2;
--commit;
EXCEPTION WHEN OTHERS THEN
raise notice '[Exception!!!] % %', SQLERRM, SQLSTATE;
errMsg := SQLERRM;
errCode := SQLSTATE;
nCount := -10;
END;
$BODY$
LANGUAGE plpgsql;
위의 구문 입니다 ㅠ. 질문 게시판이 따로 없어서 이곳에 올렸습니다만..
혹시 조언을 주실 고수분에 계시면 문제점이 무엇인지 알려주시면 감사하겠습니다.
오늘도 좋은하루 보내세요.
감사합니다.
[이 게시물은 PostgresDBA님에 의해 2014-11-06 22:57:20 자유게시판에서 이동 됨]