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
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
1427 브로커 연결 오류 문의 1 동네북 2013.03.26 8165
1426 cubrid백업파일을 oracle로 import할수있나요? 1 네로짱 2013.03.25 7344
1425 Oracle REGEXT 함수 지원하나요? 2 cyber 2013.03.25 11272
1424 NHibernate 드라이버 문의 1 소라게 2013.03.22 6032
1423 cubrid 8.4.3 loaddb 또는 대량데이터 일괄 Insert 방법 1 김상윤 2013.03.22 11018
1422 쿼리브라우저 연결 끊김현상 1 제이씨씨 2013.03.21 9605
1421 CUBRID 매니저의 테이블 편집, 스키마 정보 오류문의 4 조영준 2013.03.21 8266
1420 어떤 오류로그 인지 답변 좀 부탁드립니다. file 김상윤 2013.03.20 6173
1419 CUBRID Manager 연결 오류 1 sinorix 2013.03.19 9796
1418 default to_char(sys_datetime, 'YYYYMMDDHH24MISS') -> ERROR 1 cyber 2013.03.19 12771
1417 oracle -> cublrid 마이그레이션 1 LeePro 2013.03.18 9268
1416 내림차순 조회 문의 4 knight 2013.03.18 6306
1415 콜렉션 타입 데이터 수정 방법에 대해서 질문이요.... 1 어린왕자 2013.03.16 6276
1414 에러현상 1 file 스아 2013.03.14 5947
1413 데이터베이스 비밀번호 잊어버림... 6 종이 2013.03.14 10693
1412 성능에 관해서 질문드립니다. 5 secret 오니오니 2013.03.12 12
1411 DBCP 트랜잭션 문의 1 조영준 2013.03.12 6387
» Invalid call: it can not return ResultSet. 오류 분의 2 knight 2013.03.12 9848
1409 Oledb 문자열 값 가져오기 실패 문의입니다. 4 콩이아부지 2013.03.11 11088
1408 동작 중 디스크 볼륨을 마운트하지 못해 데이터베이스 오류가 발생되는 현상 2 secret freemir 2013.03.11 158
Board Pagination Prev 1 ... 124 125 126 127 128 129 130 131 132 133 ... 200 Next
/ 200

Contact Cubrid

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