Oracle Database TIP
Oracle10g 에서 CLOB 데이터타입 JDBC 예제. 4 0 17,763

by 김정식 CLOB JDBC [2006.04.13]


 
/**
 * Oracle10g 부터는  CLOB 데이터 타입을 처리하는 방법이 간단해 졌습니다.
 *
 *   -- scott/tiger에 테스트 테이블 생성
 *   create table clob_test (contents clob);    
 *
 * - 첫 번째 방법 SetBigStringTryClob을 true 로 설정한 후 처리 하는 방법 입니다.
 * - 두 번째 방법 OraclePreparedStatement의 setStringForClob 메소드를 이용하는 방법 입니다.
 * - 자세한 내용은 아래 링크를 참고해 주세요.
 *  참고링크
 * 
 */   
 
 
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
 
public class CLOBTypeTest {
 
        
    public static void main(String[] args){
        
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rset = null;
        String user     = "scott";
        String password = "tiger";
        String url      = "jdbc:oracle:thin:@localhost:1521:ora10g";
        
        try{ 
            
            StringBuffer str = new StringBuffer();

            for(int i=0 ; i<10000; i++){
                str.append(" CLOB Test Data ");
            }
            
            System.out.println(" INSERT CLOB length:  "+str.length());
            
            Properties props = new Properties();
            props.put("user", user );
            props.put("password", password);
            props.put("SetBigStringTryClob", "true");
            
            DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());            
            conn = DriverManager.getConnection (url, props);
            
            pstmt = (PreparedStatement)conn.prepareStatement(" INSERT INTO clob_test VALUES(?) ");
            
            pstmt.setString(1, str.toString());
            pstmt.executeUpdate();
            
            pstmt.close();
            
            String sqlCall = "SELECT contents FROM clob_test WHERE rownum = 1 ";
            pstmt= conn.prepareStatement(sqlCall);
            
            rset = pstmt.executeQuery();     
            String clobVal = null;       
            
            while (rset.next()) {  
                clobVal = rset.getString(1);  
                System.out.println(" SELECT CLOB length: "+clobVal.length());     
            }
            
        }catch(SQLException sqle){
            sqle.printStackTrace();
        }finally {
            try {
                if (rset != null)
                    rset.close();
                if (pstmt != null)
                    pstmt.close();
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
            }           
        }  
    }
        
}  
    

- 강좌 URL : http://www.gurubee.net/lecture/1904

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입