JDBC를 이용하여 오라클 프로시져나 함수를 호출시 에러 처리 방법
아래 코드 처럼 cstmt.registerOutParameter(i, Types.VARCHAR);
를 이용하여 오류가 있는지 없는지 체크하면 되구요...
cstmt = con.prepareCall("BEGIN ? := DELETE_XXX(?, ?); END;");
cstmt.registerOutParameter(i++, OracleTypes.CURSOR);
cstmt.setString(i++, form.getParam("airline_cd"));
cstmt.registerOutParameter(i, Types.VARCHAR);
cstmt.execute();
outmsg = cstmt.getString(i);
if(outmsg != null)
System.out.print("############# Error Msg dao.cart.CartDAO.setIndoOK[PKG_EM_SALE_INFO.SELECT_SALE_INFO] : " + outmsg);
PL/SQL에서는 다음처럼 에러를 out parameter에 넣으면 되죠.
PROCEDURE DELETE_XXX(
P_XXX_CD IN SALE_INFO.XXX_CD%TYPE,
P_OUTMSG OUT VARCHAR2
)IS
BEGIN
DELETE
FROM
SALE_INFO
WHERE
XXX_CD = P_XXX_CD;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
P_OUTMSG := SQLERRM;
ROLLBACK;
END;
댓글 없음:
댓글 쓰기