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 Views116
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4474
    read more
  3. 사이트 관리지 접속 시 오류

    Date2009.08.19 By늘푸른거북이 Views8757
    Read More
  4. jdk 1.2, 1.4에서는...

    Date2009.08.18 By타쿠미 Views9370
    Read More
  5. desc처럼 테이블 정보보는 방법은요

    Date2009.08.17 By짱똘 Views9678
    Read More
  6. ODBC, OLEDB 별도 설치 방법좀 알려주세요...

    Date2009.08.16 By배우자.. Views10177
    Read More
  7. 큐브리드를 설치하고 실행하려는데 아래와 같은 오류가 납니다.

    Date2009.08.14 ByVL-2536 Views9020
    Read More
  8. 설치시 cub_cas.exe - 시작지점 없음 오류

    Date2009.08.13 By백곰 Views21100
    Read More
  9. Windows 에서 사일런트 설치가 가능한가요...

    Date2009.08.12 By거만쟁이 Views23359
    Read More
  10. 큐브리드DB와 비주얼베이직6.0을 연동하는 방법좀 부탁드려요

    Date2009.08.10 By난똥배대 Views12586
    Read More
  11. 집합형 데이터 타입의 조회방법 문의

    Date2009.08.08 By김현성 Views8797
    Read More
  12. 성능평가 관련 질문 & 로드(load)

    Date2009.08.07 By지용 Views8656
    Read More
  13. 백업받은 파일로 다른 서버에 복구하기

    Date2009.08.07 By...... Views11304
    Read More
  14. demodb구동 실패

    Date2009.08.06 By...... Views8775
    Read More
  15. Cubrid 2008과 7.3의 차이?

    Date2009.08.04 Bydennis Views10
    Read More
  16. 본 게시판 버그가 있는 듯...

    Date2009.08.03 By메이커스 Views9779
    Read More
  17. 프로시저 사용시

    Date2009.08.03 By경아 Views10095
    Read More
  18. auto_increment 가 7.1 에서는 사용이 되지 않나요?

    Date2009.08.03 By메이커스 Views9727
    Read More
  19. 테이블 삭제시 오류에 대하여...

    Date2009.08.01 By메이커스 Views10623
    Read More
  20. 트랜잭션 관련 추가 문의입니다.

    Date2009.07.31 By메이커스 Views9152
    Read More
  21. Could not initialize class cubrid.jdbc.jci.UJCIManager 에러.ㅠ.ㅠ

    Date2009.07.31 By박민호 Views14030
    Read More
  22. Python 으로 데이터 일괄처리 하는 부분??

    Date2009.07.31 By천상천비 Views10247
    Read More
Board Pagination Prev 1 ... 181 182 183 184 185 186 187 188 189 190 ... 200 Next
/ 200

Contact Cubrid

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