方法一: Connection con = dbl.loadConnection(); strSql = "insert into table1(id,a) values (1,EMPTY_CLOB())"; dbl.executeSql(strSql); String str2 = "select a from " + " table1 where id=1"; ResultSet rs = dbl.openResultSet(str2); if(rs.next()){ CLOB c = ((OracleResultSet)rs).getCLOB("a"); c.putString(1, "长字符串"); String sql = "update table1 set a=? where id=1"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setClob(1, c); pstmt.executeUpdate(); pstmt.close(); } con.commit(); 方法二: Connection con = dbl.loadConnection(); CLOB clob = oracle.sql.CLOB.createTemporary(con, false,oracle.sql.CLOB.DURATION_SESSION); clob.putString(1, "长字符串"); Sql1 = "update table1 set a=? where id=1"; PreparedStatement pst = con.prepareStatement(Sql1); pst.setClob(1, clob); pst.executeUpdate(); pst.close(); con.commit();
总结:生成一个clob对象,通过预处理的setClob达到插入更新的目的