Procedure 의 Out 변수가 Type인 경우 Java에서 데이터 추출방법 0 1 1,381

by KKK [PL/SQL] Procedure PLSQL Java [2019.01.22 17:28:54]


Procedure를 Java에서 Out 가져오는 걸 처음 해보는데 잘 안되네요...ㅎㅎ

도움 주시면 감사 드리겠습니다!

// PKG에서 Type 선언

CREATE OR REPLACE PACKAGE TEST_PKG AS 

    TYPE IS TEST_TYPE RECORD(

)

// PROC에서 OUT 을 Type으로 지정

CREATE OR REPLACE PACKAGE BODY TEST_PKG AS

PROCEDURE TEST_PRC
(in_para1 IN  VARCHAR2, 
 v_rtn OUT TEST_TYPE)
  
이렇게 PKG, PRC, Type이 정의되어 있는 상태에서

Java에서 호출 시 하기와 같이 시도하고 있는데 계속 에러가 발생하고 있습니다...

여러 Row가 발생하진 않아 Cursor로 하진 않았으며 Out 되는 Parameter 개수가 많아

Type으로 받아서 Return 받고자 합니다.

 

// Java 호출

Connection conn = null;

CallableStatement cstmt = null;

ResultSet rs = null;

 

try{

  conn = getConnection();

  cstmt = conn.prepareCall("BEGIN TEST_PKG.TEST_PRC(?,?); END;");

  cstmt.setString(1, in_para1);

  cstmt.registerOutParameter(2, OracleTypes.OTHER, "TEST_PKG.TEST_TYPE");

  boolean flg = cstmt.execute();

  dbRowset = new DBRowSet();

  rs = (ResultSet) cstmt.getObject(2);

  dbrowset.populate(rs);

 

에러가 계속 발생하고 있는데 어떤 방식으로 호출을 해야 좋을까요?ㅜ

답변 주시면 감사 드리겠습니다.

by 마농 [2019.01.22 18:00:21]
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입