Background Image

FORUM

조회 수 20770 추천 수 0 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CUBRID R 8.4.0에서 작업하고 있습니다.

JDK 1.6.0_11을 설치하고 매뉴얼에 나와 있는대로 환경변수들을 설정하였습니다.


그리고 Stored procedure를 하나 만들어서 등록하고 테스트해보는데 실행하면 

CALL cust_tb_insert_new(NULL,'100','%','이초명',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);



실행결과:

실행 오류 :-889

1번째 라인 실행 오류


오류 설명:

Stored procedure execute error: java.lang.ClassNotFoundException: java.lang.String cust_code


환경변수설정은 다시 체크해보았는데 오류가 없는거 같고요...


오류원인을 어디서 찾아야 할지 ...

고수님들 답변부탁드립니다.

  • ?
    cubebridge 2011.11.01 08:30

    안녕하세요.

    좋은 질문 감사합니다. 문의하신 내용에 대하여 빠른 시일 내에 확인 후 답변을 드리도록 하겠습니다.

  • ?
    이용미 2011.11.01 19:01

    loadjava로 로딩된 class 파일을 CUBRID DB 파일(볼륨)이 위치한 java 디렉토리 안에 procedure class file 두고 loadjava로 다시 로딩 후 테스트해 보세요.

  • ?
    jetli_2012 2011.11.01 19:11

    loadjava유틸로 컴파일된파일 .class파일을 .java폴더에 로드된 상태이고요. 이 클래스에 정의된 메소드를 저장프로시저로 등록하는데는 성공하였습니다. 

    다시 테스트해보았지만 호출단계에서 같은오류가 발생합니다.


    환경변수설정은 아래와 같이 햇습니다.

    JAVA_HOME= C:Program FilesJavajdk1.6.0_11

    PATH=%PATH%;%JAVA_HOME%bin

    CLASSPATH=C:CUBRIDjdbccubrid_jdbc.jar:. 

    PATH=%PATH%;%JAVA_HOME%jrebinclient


    부탁드립니다.

  • ?
    이용미 2011.11.01 19:29

    procedure/function의 등록 방법과 JAVA 소스에서 해당 메소드의 선언부를 알려주시기 바랍니다.

  • ?
    jetli_2012 2011.11.01 19:44

    메소드의 선언부입니다.


    import java.sql.*;


    public class cust_tb_class{

         public static  String cust_tb_insert_new( 

         String cust_code,

         String nati_code, 

    String cust_grp, 

    String cust_hnm,

    String cust_enm,

    String reg_grp,

    String cust_no,

    String home_addr,

    String home_addr_det,

    String telphone_no,

    String mobile_no,

    String other_no,

    String fax_no,

    String email_no,

    String sms_no,

    String place_code,

    String post_addr,

    String post_addr_det,

    String repres_hnm,

    String repres_no,

    String business_type,

    String business_kind,

    String insincerity_yn,

    String quit_yn,

    String copy_yn,

    String calcissue_yn,

    String refer_item,

    Date issue_ymd,

    String work_id,

    Timestamp work_ymd,

    String work_tty,

    Date end_ymd,

    String sort_han,

    String chng_code) {...}


    등록은 큐브리드매니저에서 질의 편집기로 아래의 질의를 실행하였습니다.

    CREATE PROCEDURE CUST_TB_INSERT_NEW(

     cust_code VARCHAR(7),

     nati_code VARCHAR(3) ,

     cust_grp   VARCHAR(1),

     cust_hnm   varchar(40) ,

     cust_enm   varchar(40) ,

     reg_grp   char(1) ,

     cust_no   varchar(20) ,

     home_addr varchar(8),

     home_addr_det varchar(60),

     telphone_no varchar(20),

     mobile_no varchar(20),

     other_no varchar(20),

     fax_no varchar(20),

     email_addr varchar(40),

     sms_no varchar(50),

     place_code varchar(7),

     post_addr varchar(8),

     post_addr_det varchar(60),

     repres_hnm varchar(30),

     repres_no   varchar(20),

     business_type varchar(50),

     business_kind varchar(50),

     insincerity_yn varchar(1),

     quit_yn varchar(1),

     copy_yn varchar(1),

     calcissue_yn varchar(1),

     refer_item varchar(100),

     issue_ymd DATE,

     work_id varchar(6),

     work_ymd TIMESTAMP,

     work_tty varchar(10),

     end_ymd DATE ,

     sort_han varchar(30),

     chng_code varchar(7)

     )

     AS LANGUAGE JAVA

     NAME 'cust_tb_class.cust_tb_insert_new(

    java.lang.String cust_code,

    java.lang.String nati_code,

    java.lang.String cust_grp,

    java.lang.String cust_hnm,

    java.lang.String cust_enm,

    java.lang.String reg_grp,

    java.lang.String cust_no,

    java.lang.String home_addr,

    java.lang.String home_addr_det,

    java.lang.String telphone_no,

    java.lang.String mobile_no,

    java.lang.String other_no,

    java.lang.String fax_no,

    java.lang.String email_no,

    java.lang.String sms_no,

    java.lang.String place_code,

    java.lang.String post_addr,

    java.lang.String post_addr_det,

    java.lang.String repres_hnm,

    java.lang.String repres_no,

    java.lang.String business_type,

    java.lang.String business_kind,

    java.lang.String insincerity_yn,

    java.lang.String quit_yn,

    java.lang.String copy_yn,

    java.lang.String calcissue_yn,

    java.lang.String refer_item,

    java.sql.Date issue_ymd,

    java.lang.String work_id,

    java.sql.Timestamp work_ymd,

    java.lang.String work_tty,

    java.sql.Date end_ymd,

    java.lang.String sort_han,

    java.lang.String chng_code)';


  • ?
    이용미 2011.11.01 23:36
    Procedure의 등록 부분에서 create 다음에 varchar에 따로 크기를 지정하지 않습니다. 그러므로 varchar만 써주시고, name 뒤, java.lang.String 뒤에 cust_code, nati_code, cust_grp….부분을 제거 후 재실행해보세요.

     

    이해 하기 쉬우시도록 예문을 첨부합니다.
    CREATE PROCEDURE Athlete_Add(name varchar,gender varchar, nation_code varchar, event varchar)
    AS LANGUAGE JAVA
    NAME 'Athlete.Athlete(java.lang.String, java.lang.String, java.lang.String, java.lang.String)';

     

    Create procedure시, 문법 검사를 하지 않기 때문에 별다른 오류 없이 등록이 되었을 수가 있습니다. 자세한 것은 http://www.cubrid.org/manual/ko/8.4.4/sql/jsp.html#id9 을 참고하시면 도움이 될 것 입니다.


    혹, 수정 후에도 실행이 제대로 되지 않으신다면, 메뉴얼에 있는 예제를 먼저 수행해 보시고, 제대로 수행되는지 한번 Test를 해 보셔야 할 것 같습니다.

     

    감사합니다.

  • ?
    jetli_2012 2011.11.02 00:34

    정말 감사합니다.

    알려주신대로 하니 호출에서 오류가 없어졌습니다.

    한가지더 알려주시면 감사하겠습니다. 자바클래스를 eclipse에서 만들고 있는데 저장프로시저로 등록하기전에 정확히 동작하는지 확인할수있는 방법이 있겟는지요. 실행시 오류를 어떻게 작업시에 추적할수있는 방법이따로이 없는지해서요.

    번거롭게 해드려서 미안합니다.


  • ?
    이용미 2011.11.02 00:42

    도움이 되셨다니 다행입니다^^;;

     

    정확히 동작하는지 확인하는 방법에 대해서는 stored procedure 형태로는 어려우나, main 형태로 등록하여 동작이 제대로 수행되는지 알아보셔야 할 것 같습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 1111
1104 1대의 서버에 버젼이 다른 cubrid를 설치하려고 합니다. 1 secret 어려운큐브 2011.11.03 14
1103 델파이 ADOStoredProcedure 컴포넌트에서 큐브리드저장함수의 리턴값을 받고싶습니다. 2 wolf 2011.11.03 21513
» Stored procedure execute error: 자바 저장프로시저 관련오류입니다. 8 wolf 2011.11.01 20770
1101 실시간 Insert처리 1 file 동해아빠 2011.10.29 12336
1100 큐브리드 버전 선택 문의 1 유니콘 2011.10.29 36178
1099 페이징과 전체 카운트 쿼리 가져올 수 있도록 해주세요.ㅠㅠ 1 마산이프로 2011.10.29 29725
1098 질의자동화 관련하여 문의드립니다. 4 ........ 2011.10.28 9054
1097 질의 자동화 실행 오류 4 hoops11 2011.10.26 8098
1096 on duplicate key update 에 대해서.. 7 초식곰 2011.10.26 12747
1095 java store procedure 실행시 "Java VM is not running" 오류 3 jetli_2012 2011.10.25 14019
1094 테이블 생성시 컬럼추가에 있는 컬럼종류에 대해 궁금합니다. 2 존케이 2011.10.22 8674
1093 DB에 BLOB 저장 관련입니다. 2 안녕하세요 2011.10.18 12839
1092 DB 로그인 시 생기는 오류입니다 3 SMINT 2011.10.18 9406
1091 초보적인 질문(?) 입니다.. 6 초식곰 2011.10.15 8342
1090 통신 프로토콜 질문 2 reerror 2011.10.14 8662
1089 디비생성에러 5 file giyoung.kim 2011.10.12 12130
1088 윈도우 도스 모드에서 쿼리 실행 방법 문의 1 ProMind 2011.10.12 11360
1087 [테이블의 하위 페치 중]만 계속 나오면서 DB의 테이블을 보여주지 않고 있습니다. 4 secret 어려운큐브 2011.10.11 12
1086 이미지사진파일 업로드 방법 1 우주와나 2011.10.10 11845
1085 윈도우 64Bit 버전에서 PHP에 Cubrid 모듈 올리는 방법좀 .. 1 삼돌이 2011.10.08 11847
Board Pagination Prev 1 ... 111 112 113 114 115 116 117 118 119 120 ... 171 Next
/ 171

Contact Cubrid

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