Background Image

FORUM

조회 수 9848 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. java source

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.*;

import java.sql.*;

import dfas.dbpool.DBConnectionManager;

import dfas.custom.*;

import java.io.*;

import java.net.*;

import java.io.File;

import java.util.Date;

import java.text.*; 

import cubrid.jdbc.driver.* ;

import cubrid.sql.* ;


public class Functions {

public static  String ERROR = "";

private static DBConnectionManager connMgr; 

public static ResultSet Get_Event_List_N2(String agent_id, String e_gubun){ 

//ResultSet rs = null;

String e_ret = "", sql = "", t_usb_allow_yn = "";

int i_ret = 0, t_hb = 0, t_chk = 0, t_flag = 0, t_usb_evt_yn = 0;


if ( (agent_id.equals("") || agent_id == null) && (e_gubun.equals("") || e_gubun == null) ) {

e_ret = "반환 구분값이 입력되지 않았습니다 !";

System.exit(1);

}

connMgr = DBConnectionManager.getInstance();

Connection con = connMgr.getConnection("dbpool");

try{if(con!=null){con.setAutoCommit(false);}}catch(Exception e){}


sql = "   select a.AGENT_ID, 'N' as status, a.COLLECT_DATE, '윈도우OS' as gubun, "+

" CASE "+

" WHEN a.FLAG = '0' THEN 'OS 추가' "+

"   WHEN a.FLAG = '1' THEN 'OS 변경' "+

"   WHEN a.FLAG = '9' THEN 'OS 제거' "+

" END as content, "+

" a.CHECK_DATE, seq, 'TBL_OS_INFO' as tbl_name "+

" , a.AFTER_PRODUCT_NAME as prod_name "+

" , substr(a.BEFORE_INSTALL_DATE, 1 ,10) as pre_value "+

" , substr(a.AFTER_INSTALL_DATE, 1 ,10) as current_value "+

" , a.CREATE_DATE "+

" from tbl_os_info a "+

" where a.AGENT_ID = ? "+

" and (a.FLAG in ('0', '9') or (a.FLAG = '1' and (nvl(a.BEFORE_INSTALL_DATE, ' ') <> nvl(a.AFTER_INSTALL_DATE, ' ')))) "+

" and a.CREATE_DATE >= to_char(SYSDATE - 7, 'yyyy-mm-dd')  ";

//System.out.println("n[ Get_Event_List_N2 SQL ]n" + sql + "n[ Get_Event_List_N2 SQL ]n");


ClientInfo clientinfo = null;

ArrayList aList  = new ArrayList(); 

CUBRIDResultSet rs = null;

try{

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setString(1, agent_id);

rs = (CUBRIDResultSet)pstmt.executeQuery();

((CUBRIDResultSet)rs).setReturnable();

return rs;

} catch ( SQLException ex ) {

   //System.err.println(ex.getMessage());

System.out.println("n[ Get_Event_List_N2 SQL Exception ]n" + ex.getMessage() + "n[ Get_Event_List_N2 SQL Exception ]n");

} catch(Exception ex){

ERROR = ex.getMessage();

System.out.println("n[ Get_Event_List_N2 Error ]n" + ERROR + "n[ Get_Event_List_N2 Error ]n");

} finally {

try{

if(rs!=null){

rs.close();

}

if(con!=null){

con.rollback();

con.close();

}

}catch(Exception e){}

connMgr.freeConnection("dbpool", con);

connMgr.release();

}


return null;

//return rs;

}

}


2. 함수 생성
create function Get_Event_List_N2(agent_id varchar, e_gubun varchar) return cursor as language java
name 'Functions.Get_Event_List_N2(java.lang.String, java.lang.String) return cubrid.jdbc.driver.CUBRIDResultSet';
commit;

3. 실행
Select Get_Event_List_N2('testid', 'OS') from db_root;

1번째 질의실행 오류 :-911

오류 설명:
Invalid call: it can not return ResultSet.

뭐가 문제일까요 ?

  • ?
    knight 2013.03.12 23:25

    답변이 없네요~~

    제가 무지한건지 큐브리드의 기술적 한계인지~~

  • ?
    남재우 2013.03.12 23:56

    답변이 늦어져서 죄송합니다.

    SP에서 resultset 을 받기위해서는 java 응용에서 사용되어야 합니다. csql이나 CM에서는 에러가 발생할 수 있습니다. 해당 내용은 다음 링크에서 확인하실 수 있습니다. http://www.cubrid.com/online_manual/843/syntax/syntax_javasp_note.htm

    관련하여 테스트하신 환경도 알려주시면 내용 파악이 좀더 쉬울 것 같습니다.

     

    참고로 해당 SP를 일단 일반 java 응용에서 테스트하여 기본 모듈의 정상 동작 여부를 확인하신후, SP 로 빌드하여 테스트를 하시면 원인파악이 좀더 쉬워집니다. 해당 메소드 부분의 정상 여부도 한번 확인해 보시는 것이 좋겠습니다.

     


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 63
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4464
1259 프로시저 변환 문의 2 천상 2016.06.15 9785
1258 테이블 정보를 가지고 오는 쿼리를 알고 싶습니다. 1 미스터비니 2011.01.04 9790
1257 2008 R2.2 x64 설치시 오류... 1 ~~ 2010.07.27 9795
1256 CUBRID Manager 연결 오류 1 sinorix 2013.03.19 9796
1255 큐브리드 매니저 문의입니다 1 겜기능되거든 2010.05.27 9798
1254 2.0에서 2.1로 업그레이드 하려면? 1 초보 2010.02.04 9803
1253 R2.2 에서 엑셀로 보내기가 않되는 것 같습니다. 1 배워볼까 2010.06.05 9805
1252 HA 구성시 hb fail이 뜹니다. 1 철이 2016.06.09 9805
1251 도움말 확인부탁합니다. 2 들뿔 2009.06.16 9810
1250 매니저가 실행이 되지 않습니다. 3 file 또랑 2011.12.05 9813
1249 nFORGE, DBMS - 큐브리드로 설치중입니다. 1 gorillia 2009.05.31 9817
1248 큐브리드 성능 문의 2 스마트 2011.01.03 9819
1247 큐브리드에서 장고(django)지원 계획이 있는지요? 1 지니보이 2012.04.10 9819
1246 Archive Log만으로 타임복구가 가능한가요? 4 핑핑크 2016.04.29 9820
1245 cubrid_prepare()로 데이타 입력시 질문입니다. 1 지니보이 2009.12.16 9824
1244 7.1 -> 2008로 업그레이드 하면 문제가 없을까요? 3 헬리 2009.10.07 9825
1243 큐브리드 매니저 connectio refused 1 Kai 2014.01.06 9825
1242 데이터베이스가 사라집니다. 4 프라우닐 2014.01.16 9830
1241 CUBRID 2008 R 2.0 은 php모듈이 없나요? 1 oneorzero 2009.10.06 9838
1240 시리얼 업데이트 오류 2 file 초보 2010.03.04 9843
Board Pagination Prev 1 ... 133 134 135 136 137 138 139 140 141 142 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales