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 47
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
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 6388
» 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
1407 sql 파일 실행 방법 1 댄디 2013.03.08 13033
1406 oledb bigint형 필드 접근 문제 2 콩이아부지 2013.03.07 7487
1405 if exists 조건 처리문? 2 콩이아부지 2013.03.06 63611
1404 비쥬얼 스튜디오 2005에서 MFC로 프로그램을 개발 했을 때의 DB 연결 2 틈새 2013.03.06 9980
1403 Windows 버전 이중화 문의 드립니다. 2 배나와사마 2013.03.05 8455
1402 백업 된 파일 버전 확인하기 3 sw엔지니어 2013.03.05 10068
1401 CUBRID 2008 R4.3과 PHP 연동 문제 5 sinorix 2013.03.05 24682
1400 버전 업데이트 후 다른 인덱스 타는 문제 1 종이 2013.03.05 5618
1399 컴퓨터 부팅 시 Unable to register the CUBRID Service Tray.Retry? 메세지 문의 1 file conomia 2013.03.04 10291
1398 우분투 12.04에 cubridmanager 실행하면 에러 메시지 2 모기아부지 2013.02.28 7363
1397 tomcat connection pool 설정방법 문의 드립니다. 2 김상윤 2013.02.28 16904
1396 C# ole db 연동 오류 어떻게 해야 할지 조언 부탁 드립니다. 4 배나와사마 2013.02.28 15329
1395 Table 및 Column Comment 작성 2 김상윤 2013.02.27 11900
Board Pagination Prev 1 ... 125 126 127 128 129 130 131 132 133 134 ... 200 Next
/ 200

Contact Cubrid

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