알파
20
2017-04-21 16:37:51.0
0
160

db to oracle procedure 전환시 가우스에서 해결 방법 질문드립니다.


 DB2 에서 oracle 로  procedure 변경하렴 호출에서 Oracle에서 
리턴 dataset을 받기위해
OUT SYS_REFCURSOR 를 파라미터에 일괄 추가 하여야 한다고 합니다. 
 ///////////////////////////////               
 1. procedure 부분 
       CREATE OR REPLACE PROCEDURE TEST_DBUSERCursor(
       p_username IN DBUSER.USERNAME%TYPE,
       c_dbuser OUT SYS_REFCURSOR)
IS
BEGIN

  OPEN c_dbuser FOR
  SELECT * FROM DBUSER WHERE USERNAME LIKE p_username || '%';

END;

///////////////////////////////
2. java  호출 부분 

  Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con = DriverManager.getConnection("DB커넥션 부분.);

     String strProc = "{call procedure_test(?)}";

 java.sql.CallableStatement cstmt = con.prepareCall(query);

 cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);

 cstmt.execute();
///////////////

문제는 gauce 4.0을 사용하고 있는 데 gauce에서는  
  cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
지원인 안되고 있습니다. 


혹시 gauce에서 SYS_REFCURSOR 문제 해결하신분 있을까요?

db2에서 oracle 가우스 변환시 문제 됐을 것 같은 데 도움 주셔요.

0
0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.