ojdbc에서 getGeneratedKeys() 사용시 NullPointerException 발생 0 0 2,003

by 기타중독 [어플리케이션관련] [2013.03.21 17:31:15]


안녕하십니까?


해결방법을 몰라 질문 하나 올립니다.


UPDATE 문에 사용된 시퀀스 값을 가지고 처리하는 로직을 만들어야 하는데 getGeneratedKeys() 사용시


NullPointerException 발생합니다.


ORACLE 10G에 ojdbc14.jar 를 사용하고 있습니다.


ORACLE 10G에서나 ojdbc14.jar 버전에서는 getGeneratedKeys()를 사용할 수 없는건지요?


인터넷 검색에서는 Oracle 에서도 getGeneratedKeys() 사용한 예제가 있는데 처리되지 않는 이유를 몰라 너무 답답합니다.


고수님들의 말씀 부탁드립니다.

<소스>

    PreparedStatement pstmt = null;
    ResultSet         rs    = null;
    StringBuffer sql = new StringBuffer(100);
    sql.append(" INSERT INTO ITV_JOB_MEDIA (JOB_MEDIA_ID, DIST_MEDIA_ID, CDN_JOB_ID) ");
    sql.append("                                  VALUES (ITV_JOB_MEDIA_SEQ.NEXTVAL,?,?) ");
    String generatedColumns[] = {"JOB_MEDIA_ID"};
    
    if(log.isDebugEnabled())
        pstmt = new LoggableStatement(conn,sql.toString());
    else
        pstmt = conn.prepareStatement(sql.toString(), generatedColumns);
    pstmt.setInt(1,    distID);
    pstmt.setInt(2,    jobID);
   
    if(log.isDebugEnabled())
    log.debug("addJobMedia()\n" + ((LoggableStatement)pstmt).getQueryString() );
   
    pstmt.executeUpdate();

    
    int seq = 0;
    rs = pstmt.getGeneratedKeys();
    if(rs.next()){
seq = rs.getInt(1);
    }
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입