[JAVA/JDBC] 프로시저 호출 방법

2022. 11. 23. 09:37
728x90
반응형

아래 예시 코드를 참고하면 된다.

Properties properties = new Properties();
    CallableStatement cStmtSys = null;
    Connection connSys  = null;
    String resultCode   = null;
    String resultMsg    = null;
    int    resultCnt1    = 0 ;
    int    resultCnt2    = 0 ;
    int    resultCnt3    = 0 ;
    int    resultCnt4    = 0 ;
    String BatchMessage = null;
    
    try {
        /* READ XML properties */ 
         InputStream in = ClassLoader.getSystemResourceAsStream(config_xml);
         properties.loadFromXML(in);
         in.close();
         
         String className = (String)properties.get("jdbc.className");
         
         /* PSS READ XML properties */
         String url    = (String)properties.get("jdbc.url");
         String id     = (String)properties.get("jdbc.id");
         String pw     = (String)properties.get("jdbc.pw");
          
         /* Connection JDBC */
         connSys = DBConnection.getConnection(className, url,   id,  pw);
         
         /////////////////////////////////////////////////////////////////////////////////
         StringBuffer sql1 = new StringBuffer(1000);
         sql1.append("CALL PSS.P_TEST(?,?,?,?,?,?,?)");
         
         cStmtSys = connSys.prepareCall(sql1.toString());
         // 프로시저의 IN 매개변수 입력
         cStmtSys.setString(1, ""); 
         
         // 프로시저의 OUT 매개변수 입력
         cStmtSys.registerOutParameter(2, java.sql.Types.INTEGER );
         cStmtSys.registerOutParameter(3, java.sql.Types.INTEGER );
         cStmtSys.registerOutParameter(4, java.sql.Types.INTEGER );
         cStmtSys.registerOutParameter(5, java.sql.Types.INTEGER );
         cStmtSys.registerOutParameter(6, java.sql.Types.VARCHAR );
         cStmtSys.registerOutParameter(7, java.sql.Types.VARCHAR );
         cStmtSys.executeUpdate();
         
         // 결과 값 호출
         resultCnt1  = cStmtSys.getInt(2);
         resultCnt2  = cStmtSys.getInt(3);
         resultCnt3  = cStmtSys.getInt(4);
         resultCnt4  = cStmtSys.getInt(5);
         resultCode  = cStmtSys.getString(6);
         resultMsg   = new String(cStmtSys.getString(7).getBytes("8859_1"),"EUC-KR");

         /////////////////////////////////////////////////////////////////////////////////

         connPss.commit();
    } catch(Exception e) {
    
    }
728x90
반응형

'IT > java' 카테고리의 다른 글

[JAVA] String 문자열 클래스 설명, 사용 예시  (0) 2023.01.05
[JAVA] NoSuchAlgorithmException | 암호화 복혹화 알고리즘 오류  (0) 2022.11.24
[JAVA] JVM 설명  (0) 2022.11.16
[JAVA] JRE 설명  (0) 2022.11.16
[JAVA] JDK 설명  (0) 2022.11.16

BELATED ARTICLES

more