java 프로그램 구현시에 오라클의 프로시저에서 예외를 발생시킨 후 코드와 메시지를 전달하는 방법이다.
RAISE_APPLICATION_ERROR(에러코드, 에러구문);
에러코드는 -20000 에서 -20999 사이의 값을 입력한다.
프로시저 생성
create or replace raise_test(P_IN IN VARCHAR2, P_OUT OUT VARCHAR2) IS
V_OUT VARCHAR2(1000);
BEGIN
BEGIN
--ERROR 발생코드
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE_APPLICATION_ERROR(-20000, SQLERRM);
END;
END;
/
JAVA 코드
try{
// 데이터베이스 드라이버를 로드 Class.forName("oracle.jdbc.driver.OracleDriver");
// Connection 객체 생성
Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe","SCOTT","TIGER");
// 프로시저를 실행할 수 있는 Statement 객체 생성
CallableStatement cstmt = con.prepareCall("{call raise_test(?,?)}");
cstmt.setString(1, "값1");
// ?에 값 바인딩
cstmt.setString(2, "값2");
// 프로시저 실행
cstmt.executeQuery();
// 사용다한 객체 닫기
cstmt.close();
con.close();
} catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace();
}
'Programming > java' 카테고리의 다른 글
오라클 ORDER SIBLINGS BY (0) | 2022.02.08 |
---|---|
자바 워터마크 java watermark (0) | 2020.03.29 |
오라클 두 날짜, 시간 사이를 초단위로 환산하기 (0) | 2017.10.22 |
jdk 1.8 다운로드 (0) | 2017.05.19 |