Background Image

FORUM

조회 수 15673 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
자바 파일을 패키지로 만들지 않고 함수를 실행하면 잘 되는데 패키지로 만들어서 사용하면 오류가 발생합니다. 
패키지로 만들면 loadjava할때 [loadjava 디비명 클레파일명] 설정을 다르게 해줘야 하는지 
아니면 함수명 만들때도[AA.HH] 자바명에 패키지명을 붙여줘야 되는건지.. 아시면 자세히 설명 부탁 드립니다.
패키지로 만들어서 해보고 여러방법을 써봣지만 잘 안되네요..
 
<java파일>
package test; //패키지로 만든경우 오류남
public class AA {
  public static String HH(String dt) throws SQLException, Exception { 
  생략..
 }
}

<함수>
CREATE FUNCTION "AA"("dt" VARCHAR) RETURN STRING
 AS LANGUAGE JAVA
 NAME 'AA.HH(java.lang.String) return java.lang.String'
  • ?
    정만영 2010.02.24 01:59
    안녕하세요.!!
    답변이 늦어 죄송합니다.
    내용을 확인중에 있습니다.
  • ?
    손승일 2010.02.24 02:18
    package 형태로 생성된 경우에는 패키지 구조 그대로 등록되어야 합니다.
    즉, 위 예제로 java를 컴파일 하면 test 디렉토리 하위에 AA.class가 생성될 텐데 이 test 디렉토리 전체가 등록되어야 합니다.
    loadjava 유틸리티는 디렉토리 전체를 등록해주는 형태는 지원하지 않습니다.
    loadjava 유틸리티가 하는 일은 DB 볼륨파일이 존재하는 경로의 java 디렉토리에 명시한 class 파일을 복사하는 작업을 하는 유틸리티입니다.
    loadjava demodb AA.class 하면 demodb 볼륨파일이 존재하는 $CUBRID/databases/demodb/java/AA.class가 복사됩니다.
    따라서 loadjava 유틸리티를 사용하지 않고 해당 경로에 class 파일을 복사하면 동일한 작업이 되는 것입니다.
    demodb를 기준으로 정리하면 컴파일 후 test/AA.class를 $CUBRID/databases/demodb/java/test/AA.class로 복사하면 등록 작업은 완료가 됩니다.
    다음은 DB에 함수를 명시하는 과정에서 package 명을 포함하여 명시해줘야 합니다.
    위 예를 변경하면 NAME 'test.AA.HH(java.lang.String) return java.lang.String' 와 같이 사용하셔야 합니다.
  • ?
    쪼로롱 2010.02.24 03:21
    감사합니다. 함수 생성시 자바가 패키지 선언인 경우는 스크립트로 작성해야 겠네요. 스크립트로 작성하면 test.AA.HH가 오류없이 동작하는데 큐브리드메니저로 사용하면 형식에 위배되서 "클래스이름.함수이름" 작성하라네요..

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 52
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3994 clob데이터 경로 바꿀수 있스니까? 1 new 자바천재 2024.04.29 26
3993 db에 저장되어 있는 CLOB 데이터의 위치가 어디로 저장되는지 확인하는 방법이 있을까요? 1 자바천재 2024.04.25 26
3992 큐브리드 서비스 시작이 안됩니다. 1 file 황남빵 2024.04.24 31
3991 큐브리드 JDBC 드라이버 XA문의 및 큐브리드 분산트랜잭션(XA) 지원 문의 1 몽키스패너 2024.04.24 30
3990 group_concat 변수 리턴 관련... 1 썬더기 2024.04.22 25
3989 기 DB에서 테이블 정보만 가져와서 다른 DB에 생성 1 바다소금 2024.04.22 18
3988 큐브리드 매니저 속도 문의 1 연동테스트용 2024.04.22 19
3987 cubrid count 속 2 kanin 2024.04.19 29
3986 cubrid 10.1 데이터 덮어쓰기 질문입니다. 4 ysk96 2024.04.18 64
3985 ACTION 명령어? 예약어? 1 투투투투기기 2024.04.17 20
3984 sql 구문 사용시 데이터 타입 decimal일 경우 1 투투투투기기 2024.04.11 30
3983 Regexp_count 4 SEO 2024.04.09 66
3982 큐브리드 메모리 오류 관련 질문 2 file 뚜벅뚜벅 2024.04.09 67
3981 큐브리드 실행이 안되는 이슈 1 file 최현욱 2024.04.09 42
3980 unloaddb & loaddb 관련 질문이 있습니다. 1 543534512 2024.04.06 47
3979 mac m1 다운로드 오류 1 file 혜주냉면 2024.04.05 42
3978 list 함수로 만든 sequence type을 varchar로 변환 문의 1 플레이어블 2024.04.04 36
3977 DECODE, CASE WHEN 사용법 문의 2 핑크팬더 2024.04.03 56
3976 schema 파일 loaddb - 스키마 정보 중복오류 문의 4 daay 2024.03.21 91
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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