Background Image

FORUM

조회 수 12313 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
 out 이 있는 프로시저를 작성중입니다.


아래는 생성문인데 맞는지 모르겠네요.

create procedure SP_DELETE_SECTION(v_section_seq numeric, v_message out varchar)
    as LANGUAGE java
    name 'SpDeleteSection.sp_delete_section(java.lang.Integer, java.lang.String) return java.lang.String'

이 문법이 맞는지요? 리턴이 있는게?

java는

public static String sp_delete_section(Integer v_section_seq, String v_message){
.
.
.
  return str;
}

이런식으로 해봤는데... 프로시져 내용은 실행은 되나.. 리턴되는 값이 null로만 나옵니다.
어떻하면 받을수가 있는지요?

메뉴얼을 검색해보니..아래와 같이 나와있는데요. 도무지 무슨말인지 모르겠습니다.

JAVA 저장 함수/프로시저의 인자를 OUT으로 설정한 경우 길이가 1인 1차원 배열로 전달된다. 그러므로 JAVA 메소드는 배열의 첫번째 공간에 전달할 값을 저장하여야 한다. <-- 배열을 리턴하라는 건가요?

답변부탁드려요...
  • ?
    웁쓰 2009.07.30 21:40 Files첨부 (3)

    안녕하세요. 배열을 리턴하는건 아니구요.
    자바메소드에서 String 형태로 넘기면 값을 바꿀수 없기때문에 String[] 형태로 out 변수를 선언하란 이야기 입니다.
    자세한 사항은 복잡하여 생략하겠습니다.

    바로 다음에 예제를

    create class phone(
            name varchar(20),
            phoneno varchar(20)
    );

    예제)
    public static void outSp(String name, String[] msg)
       throws Exception {
      Connection conn = null;
      ResultSet rs = null;
      PreparedStatement pstmt = null;
      String DB_URL = "jdbc:cubrid:localhost:33000:demodb:::";
      String DB_USER = "dba";
      String DB_PASSWORD = "";
      String sql=" INSERT INTO PHONE(NAME, PHONENO)" + " VALUES (?, ?)" ;
                try{
                        Class.forName("cubrid.jdbc.driver.CUBRIDDriver") ;
                        conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
                        pstmt = conn.prepareStatement(sql) ;
               
                        pstmt.setString(1, name);
                        pstmt.setString(2, "");
                        pstmt.executeUpdate() ;

                        pstmt.close() ;
                        conn.commit() ;
                        conn.close() ;
                        msg[0] = "success";
                } catch (SQLException e) {
                        System.err.println(e.getMessage());
                        msg[0] = "fail";
                }

     }


    create procedure outSp (name IN varchar, msg OUT varchar)
    as language java
    name 'MySP.outSp(java.lang.String, java.lang.String[])'
    ;

    실행 시키는 쪽
    Connection conn = DriverManager.getConnection(url, userid, password);
       CallableStatement ctmt;
       ctmt = conn.prepareCall(" call outSp(?, ?)" ) ;

                ctmt.setString(1, " Jane" ) ;
                ctmt.registerOutParameter(2, java.sql.Types.VARCHAR);
               
                ctmt.execute() ;
               
                String msg = ctmt.getString(2);
                System.out.println(msg);

  • ?
    제발좀 2009.07.31 02:44
    잘되네요. 많은 도움 되었습니다. 답변 감사합니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views51
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. 임시볼륨 문제 문의드립니다.

    Date2016.03.31 By라면 Views8
    Read More
  4. 임시볼륨이 꽉차지는 현상 문의

    Date2016.01.05 By라면 Views6854
    Read More
  5. 임시테이블 관련

    Date2013.02.15 Bycubrid 초보 Views9322
    Read More
  6. 임시테이블 지원관련 문의입니다.

    Date2013.08.12 By므네모시네 Views9359
    Read More
  7. 임시테이블에 대한 지원 계획은 있는지 궁금합니다

    Date2010.07.28 By김종언 Views10994
    Read More
  8. 임의용량에 대해 문의 드립니다.

    Date2023.01.18 By김은지 Views57
    Read More
  9. 자동백업 문의

    Date2015.03.27 By완초 Views4241
    Read More
  10. 자동백업 문제

    Date2015.06.17 By이재구 Views4190
    Read More
  11. 자동백업 시간 설정한 시간과 2시간 차이가 납니다.

    Date2017.12.16 Bycoolkkm Views300
    Read More
  12. 자동백업시 폴더까지는 생성이 되는데 백업파일이 생성이 않됩니다.

    Date2015.03.30 By블랙 Views8
    Read More
  13. 자동증가 컬럼수정후 자동증가값이 들어가게 하려면?

    Date2010.02.27 By초보 Views18072
    Read More
  14. 자동증가 트리거사용

    Date2015.07.06 Bykty7777 Views4075
    Read More
  15. 자동증가 필드 질문합니다

    Date2009.03.04 By유니콘 Views16024
    Read More
  16. 자동증가값을 키로 사용하는 경우에 대해 질문 있습니다.

    Date2017.07.19 By하늘나무 Views752
    Read More
  17. 자료 저장시 속도가 느려집니다.

    Date2009.12.11 By푸른잔디 Views9475
    Read More
  18. 자바 함수 사용중에 jdbc 접속오류 발생

    Date2022.03.24 Bygo Views65
    Read More
  19. 자바 + C 연동 끊김현상

    Date2014.07.14 By도제마 Views13
    Read More
  20. 자바 배치 쉘 수행시 큐브리드 이중화 설정

    Date2022.04.18 Byjeinhe Views79
    Read More
  21. 자바 저장 프로시저 서버 기동 문의

    Date2022.09.27 By준88 Views72
    Read More
  22. 자바 저장함수 속도 관련문제요..

    Date2016.08.11 Byowlowl Views14118
    Read More
Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 200 Next
/ 200

Contact Cubrid

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