프로그래밍/Java

Java Oracle Clob 데이터 형 처리하기

seungdols 2015. 12. 15. 13:56

아래는 간단하게 처리하는 경우
stmt.setString(position, xml);

or

Clob형을 사용하여 처리하는 경우

try {
  java.sql.Clob clob = 
    oracle.sql.CLOB.createTemporary(
      connection, false, oracle.sql.CLOB.DURATION_SESSION);

  clob.setString(1, xml);
  stmt.setClob(position, clob);
  stmt.execute();
}

// Important!
finally {
  clob.free();
}
import oracle.jdbc.OraclePreparedStatement;
/*
Your Code
*/
 void insert(int id, String xml){
    try {
        String sql = "INSERT INTO table1(ID,XML) VALUES ("
                + id
                + "', ? )";
        PreparedStatement ps = conn.prepareStatement(sql);
        ((OraclePreparedStatement) ps).setStringForClob(1, xml);
        ps.execute();
        result = true;
        } catch (Exception e) {
        e.printStackTrace();
    }
  }

위와 같은 방법도 존재한다. 일반적인 String으로 처리하였을 경우 3000byte이상 채 넣을 수 없다. Clob 데이터는 2GB까지 저장이 가능한데, String으로 처리할 경우 Clob 데이터형을 사용을 제대로 못한다.

위 내용은 Stackoverflow의 내용을 참조했다.
stackoverflow


반응형

'프로그래밍 > Java' 카테고리의 다른 글

Java언어에서의 중첩 클래스  (0) 2015.12.23
행사코드 - 용어 설명  (0) 2015.12.16
Two FXML File Load - JavaFX  (0) 2015.12.01
JavaFX - Login Form  (0) 2015.11.27
Java Swing - Jtable row 클릭  (0) 2015.11.26