함수 생성 문의

by ozro posted Jun 13, 2022

1) 함수 클래스 파일 예시
class{

    public static String GET_CG_KI_INFOS1(String p1, String p2){
        String str = "";
        PreparedStatement ps;
        ResultSet rs;
        String sql = " SELECT GET_CD_NM('M', KI_CD) as value_"+
                " FROM CG_REGION_KI B    "+
                " WHERE B.LND_R  = ?        "+
                " AND B.LND_NO = ?";
        try {
            ps = getConnection("mis3","mis3").prepareStatement(sql);
            ps.setString(1, p1);
            ps.setString(2, p2);
            rs = ps.executeQuery();
            while(rs.next()){
                str += rs.getString("value_") + "<br>";
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
        
        if(!"".equals(str)){
            str = str.trim();
            String gbn_str = str.substring(str.length()-4, str.length());
            if("<br>".equals(gbn_str)){
                str = str.substring(0, str.length()-4);
            };
        }
        
        System.out.println("GET_CG_KI_INFOS1:::str:::"+str);
        return str;
    }

        public static String GET_CD_NM(String p1, String p2){
            String str = "";
            PreparedStatement ps;
            ResultSet rs;
            String sql = "SELECT CDNM FROM UNICODE "+   
                         "WHERE GCD = ? AND CD  = ?";
            try {
                ps = getConnection("dbo2","dbo2").prepareStatement(sql);
                ps.setString(1, p1);
                ps.setString(2, p2);
                rs = ps.executeQuery();
                while(rs.next()){
                    str = rs.getString("cdnm");
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }        
            System.out.println("GET_CD_NM:::str:::"+str);
            return str;
        }    

    public static void main(String[] args) 
    {
        GET_CD_NM("G","123");
        GET_CG_KI_INFOS1("366","035");
        System.out.println("Hello World!");
    }
}


2) loadjava 후 이동된 폴더에서 해당 클래스 파일을 실행하면 아래와 같이 
제대로 조회가 됨

GET_CD_NM:::str:::밀양
GET_CG_KI_INFOS1:::str:::온천지구<br>도시계획구역<br>댐지역

3) 그런데 함수생성후 조회해보면
select GET_CD_NM("G","123") from dual
-> 밀양

select GET_CG_KI_INFOS1('366','035') from dual
-> 에러 (
               실행 오류 : -21013
                Cannot connect to a broker
       )


도대체 왜이럴까요???

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

 

 

 


Articles

1 2 3 4 5 6 7 8 9 10