读取简单点,用到输入输出流。
下面是写入CLOB
conn.setAutoCommit(false);//取消自动提交需要被首先执行
需要插入一条新的记录时,可以像下面这样:1. 先取sequence的值 strSql = "select sequence(表中column的名字).nextval from dual"; pstm = this.conn.prepareStatement(strSql); rs = pstm.executeQuery();2. 插入一个空值的CLOB insert into tableName t (t.CLOB_column, t.sequence) values(empty_clob(), id) pstm.executeUpdate();3. 把这一行锁定,用select ...for update语句,然后在写入 strSql = "select t.CLOB_column from tableName t where t.sequence= " + id + " for update"; pstm = this.conn.prepareStatement(strSql); rs = pstm.executeQuery(); if (rs.next()) { clob1= (oracle.sql.CLOB) rs.getClob(1); fillClob(clob1, content); } rs.close(); conn.commit();//对应上面的那句 pstm.close();更新一条记录1. 清空CLOB的内容 strSql = "update tableName t set t.CLOB_column = empty_clob() where t.id ='" + id + "'"; pstm = this.conn.prepareStatement(strSql); pstm.executeUpdate();2. 和插入新记录一样,需要用for update锁定