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 31
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4457
1113 전에 조인 관련 비슷한 질문을 올렸는데도 응용을 하지 못해 쿼리를 올립니다. 3 하루야 2011.11.17 12407
1112 큐브리드 매니저, 쿼리브라우저 차이점 문의 1 jyuvenia 2011.11.12 13568
1111 php 모듈 로드가 안됩니다. 3 김우람 2011.11.11 14352
1110 데이타 처리 속도 문제가 있습니다. 2 pdk24 2011.11.11 11712
1109 4.0 최초 설치후 DB 구동 불가 증상 7 reerror 2011.11.10 11196
1108 4.0 마이그레이션 중 스키마 로드 오류 9 reerror 2011.11.10 18171
1107 실행 오류 :-46 (Internal error: slot 3 on page 4231 of volume) 3 file reerror 2011.11.09 26849
1106 증분백업 복구가 잘 않되고 있습니다. 3 reerror 2011.11.08 11508
1105 리눅스서버에 설치된 cubrid삭제후 로그인할때마다 에러메시지가 나옵니다.(11/06=>관련 추가질문 올림) 4 secret 어려운큐브 2011.11.05 13
1104 1대의 서버에 버젼이 다른 cubrid를 설치하려고 합니다. 1 secret 어려운큐브 2011.11.03 14
1103 델파이 ADOStoredProcedure 컴포넌트에서 큐브리드저장함수의 리턴값을 받고싶습니다. 2 wolf 2011.11.03 21625
1102 Stored procedure execute error: 자바 저장프로시저 관련오류입니다. 8 wolf 2011.11.01 21797
1101 실시간 Insert처리 1 file 동해아빠 2011.10.29 12444
1100 큐브리드 버전 선택 문의 1 유니콘 2011.10.29 36237
1099 페이징과 전체 카운트 쿼리 가져올 수 있도록 해주세요.ㅠㅠ 1 마산이프로 2011.10.29 30076
1098 질의자동화 관련하여 문의드립니다. 4 ........ 2011.10.28 9080
1097 질의 자동화 실행 오류 4 hoops11 2011.10.26 8121
1096 on duplicate key update 에 대해서.. 7 초식곰 2011.10.26 12970
1095 java store procedure 실행시 "Java VM is not running" 오류 3 jetli_2012 2011.10.25 14087
1094 테이블 생성시 컬럼추가에 있는 컬럼종류에 대해 궁금합니다. 2 존케이 2011.10.22 8712
Board Pagination Prev 1 ... 140 141 142 143 144 145 146 147 148 149 ... 200 Next
/ 200

Contact Cubrid

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