Background Image

FORUM

조회 수 15675 추천 수 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 111
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4473
3680 A serial object already exists as an auto increment constraint. 오류 질문 1 kimsuny 2013.10.28 15984
3679 OUTER JOIN 관련해서 질문 드립니다. 2 이석희 2009.04.14 15979
3678 php, cubrid에서 그림, 동영상파일업로드코딩중인데요. 1 난꼭한다 2010.01.11 15937
3677 java 에서 result.getString() 함수로 긴 문자열 읽어올때 짤리는 현상 2 yept 2010.10.14 15894
3676 ODBC 다중 접속 댓글을 보고 나서... 7 ApiClasser 2009.05.20 15888
3675 JAVA 프로시져 4 벅지 2009.02.24 15881
3674 invaild buffer position error 3 바람바람 2013.04.05 15869
3673 java vm is not running 1 yoon 2010.04.03 15859
3672 설치 에러 로그 확인 부탁 드립니다. 8 우페 2009.02.19 15831
3671 ha 스크립트 step3 Permission denied, please try again 2 QA 2013.09.25 15830
3670 서버에접속할수없습니다... 1 file 가라 가라~ 2009.01.14 15812
3669 cubrid function(JAVA)생성시 PreparedStatement의'?'사용하면 문제 발생 2 수서기다 2016.12.13 15805
3668 데이터베이스 서버 start가 안됩니다 7 삽질쟁이 2009.06.04 15804
3667 Microsoft Visual C++ 2008 재배포 가능 패키지 설치 안하고 Trayicon 보이게 하는 방법 1 혀니짱 2011.04.11 15795
3666 CUBRID로 마이그레이션 질문 1 으라챠챠 2016.12.09 15751
3665 migration toolkit 사용시 Got minus one from a read call 에러 발생 1 말랑 2014.02.13 15722
3664 autocommit off 방법 문의 9 소라게 2010.06.08 15706
3663 Unable to access system message catalog.(null) 5 공기청정기 2009.05.14 15693
» 저장프로시저 함수-loadjava 3 쪼로롱 2010.02.23 15675
3661 Java VM is not running 오류 원인? 6 file 강나루소나무 2012.02.10 15658
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 200 Next
/ 200

Contact Cubrid

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