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 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
734 JDBC 드라이버 오류 1 kjaminam 2016.01.14 8425
733 JDBC 드라이버 문제 4 황식이 2019.01.08 683
732 JDBC URL 질문입니다. 1 선정선정 2018.10.24 1394
731 JDBC ResultSet에 대한 문의 2 강우 2010.01.15 22135
730 JDBC PreparedStatement excute()에서 오류 발생 3 steve 2022.07.18 345
729 JDBC Driver와 DB간 버전이 다를경우 1 아니 2018.08.08 419
728 JDBC Driver로 부터의 오류메시지에 대한 질의 3 Fe2 2022.06.22 524
727 JDBC Connection 끊어짐 1 steve 2022.07.21 454
726 JBoss connection pool 설정방법 문의드립니다. 1 secret 땡땡이 2014.01.25 6
725 JBoss 7.1.1 와 Cubird 9.3.6 버젼 연동 문의 file 뽀대남 2016.07.12 11060
724 JAVA 프로시져 4 벅지 2009.02.24 15881
723 JAVA 로직 호출방법 가이드 문의 3 준88 2022.08.29 84
722 JAVA VM 라이브러리 오류 1 용군 2017.12.19 289
721 JAVA VM is not running 오류 2 jungsin 2021.06.25 896
720 JAVA SP 에서 addBatch 오류 문의 1 방글이 2024.01.03 84
719 JAVA , JSP 용 예제 소스를 구할 수 있을까요? 1 나비다 2010.04.27 16071
718 Invalid connection port! 1 secret 하세라 2016.08.19 5
» Invalid call: it can not return ResultSet. 오류 분의 2 knight 2013.03.12 9848
716 Invalid buffer position! 오류 12 알칸펠 2013.12.20 12645
715 Invalid buffer position! insert시 발생하는데 왜 발생하나요? 5 바람바람 2013.01.18 7732
Board Pagination Prev 1 ... 159 160 161 162 163 164 165 166 167 168 ... 200 Next
/ 200

Contact Cubrid

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