전자정부표준프레임워크 recordset 프로시져 호출

by 없음 posted Jan 10, 2022


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window11 64bit
CUBRID Ver.
10.1.3
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

안녕하세요 전자정부표준프레임워크로 처음 개발하는 개발자입니다.

 

현재 ibatis를 사용하여 xml로 프로시져를 호출하려고 하는데요

 

xml 코드 첨부해드립니다.

 

-----------------------------------------------------

 

<procedure id="loginDAO.testLogin">

  {call out_result()}

<procedure>

 

--------------------------------------------------------

 

프로시져 코드도 첨부해드립니다.

제가 하나하나 쓴거라 현재는 오타가 있을수도 있지만 

javac로 컴파일해서 오류가 없는 코드입니다.

---------------------------------------------------

 

public class testResult{

  public static ResultSet TResultSet() {

    try{

      class.forName("cubrid.jdbc.driver.CUBRIDDriver")

      Connection conn = DriverManager.getConnection("jdbc:default:connection:");

      ((CUBRIDConnection)conn).setCharset("ko_KR.utf8");

 

      string sql = "select * from test_table";

 

      Statement stmt = conn.createStatement();

      ResultSet rs = stmt.execusteQuery(sql);

      (((CUBRIDResultSet)rs).setReturnable();

 

      return rs;

    } 

 

    ....생략

 }

  return null;

}

 

---------------------------------------------------

 

프로시져 생성문도 보여드리겠습니다.

 

-----------------------------------------------------

 

CREATE PROCEDURE out_result()

AS LANGUAGE JAVA

NAME 'testResult.TResultSet() return java.sql.ResultSet'

 

-------------------------------------------------------

 

 

현재 전자정부표준프레임워크에서 프로시져를 호출하면 에러가 뜹니다. 

 

에러메시지는

 

The error occurred while executing query procedure..

check the {call out_result()}.

check the SQL STATEMENT (preparation failed).

caause: cubrid.jdbc.driver.CUBRIDException: Illegal CALL statement[CAS INFO-localhost:30000,4,5424],[SESSION-5287]

 

전자정부표준프레임워크와 ibatis cubrid 고수님들 도와주세요 ㅠㅠ

 

cubrid 메뉴얼에 호출하는 쪽에서는 Types.JAVA_OBJECT 로 OUT 인자를 설정하고getObject() 함수로 가져온후 java.sql.Resultset으로 변환한후 사용하라고 써있는데

 

전자정부표준프레임워크의 ibatis xml 설정을 어떻게 해야하는지 도대체 알수가 없네요 ㅠㅠ

 

도와주세요!

 

----------------------------------------------------------

 

확인해보니 DAO에서 해당 xml 쿼리문을 호출할때 잘못 호출해서인거 같다는 생각이 들었습니다..

 

DAO에서 프로시저문 호출할때에 Hashmap을 통해서 호출하는 방법을 아시는 분있으신가요? ibatis입니다

 

 

 


Articles

13 14 15 16 17 18 19 20 21 22