怎么对oracle中的clob类型进行操作(插入和查询)?
麻烦各位师兄指点下谢谢了..

解决方案 »

  1.   

    String temp=row.get("CONTTEXT")==null?"":row.get("CONTTEXT").toString().replaceAll("\\s+", " ");
    StringReader reader=new StringReader(temp);
    this.callable.setCharacterStream(11,reader,temp.length());
    reader.close();我是用CallableStatement做的,直接用Statement不是很好弄,建立一个字符流写入到Clob数据类型
      

  2.   

    Connection conn = xxx; String sql = "select clob_column from table_x where id=" + id;
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    Clob clob = null;
    if (rs.next())
    clob = rs.getClob(1); if (clob != null) {
    BufferedReader reader = new BufferedReader(clob.getCharacterStream());
    然后reader读数据就可以了
    }
      

  3.   

    String sql = "insert into TEXT(id,text) values(?,empty_clob())";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setLong(1, id);
    pstmt.executeUpdate();
    pstmt.close(); sql = "select text from TEXT where id= ? for update";
    pstmt = conn.prepareStatement(sql);
    pstmt.setLong(1, id);
    ResultSet rs = pstmt.executeQuery();
    if (rs.next()){
    clob = (CLOB) rs.getClob(1);
    clob.putString(1,text);
    }
    rs.close();