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 55
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
1275 응답없음 현상 2 까망이 2011.01.24 9749
1274 영문 대소문자 구분 1 헛개수 2014.07.24 9749
1273 큐브리드 매니저에 데이타베이스 복구가 비활성화 되어있습니다 2 초보 2010.02.08 9752
1272 QUBRID 매니저에서 실행계획을 볼려면.. 2 파란토끼 2013.10.02 9761
1271 큐브리드를 사용해 윈도환경에서 사용할 프로그램을 개발코자 합니다 1 혜승아빠 2010.01.08 9763
1270 리눅스에 큐브리드 2.1설치오류 3 SoMa 2010.09.13 9764
1269 데이터베이스 클래스수와 성능과의 관계에 대한 질문 1 김현성 2011.06.01 9765
1268 insert 문에서 다량의 데이타입력할 때에 대한 질문입니다. 1 지니보이 2009.10.27 9766
1267 큐브리드 테이블 or 데이터 삭제시 멈춤현상..... 2 니나노 2011.01.10 9768
1266 인덱스가 실행이 안되는 것 같아서 요청 드려 봅니다. 3 취우다 2017.04.15 9768
1265 eclipse plugin 설치 에러 1 file 바다~ 2013.12.06 9777
1264 본 게시판 버그가 있는 듯... 2 메이커스 2009.08.03 9779
1263 542번글 재질의 2 file 초보 2010.02.09 9780
1262 큐브리드 메니저 데이터베이스검사시 에러문구 1 까망이 2009.12.30 9781
1261 오라클 to_date 큐브리드 변환좀 알려주세요ㅠㅠㅠㅠ 1 한상오빠 2016.08.31 9784
1260 저장 프로시저에서 JDBC 연결이 안되는 것 같습니다. 2 animan10 2017.03.10 9784
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
Board Pagination Prev 1 ... 132 133 134 135 136 137 138 139 140 141 ... 200 Next
/ 200

Contact Cubrid

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