Hi, Could somebody tell me how to update clob field in oracle 8.1.7? I use preparestatement.setString, and get "data size too big" error. Thanks a lot.
Patrick McDowell
Greenhorn
Joined: Aug 15, 2000
Posts: 4
posted
0
Here's a method I use to update Clob. public void updateClob(String updateString, int rowID, Connection con) { Statement stmt = null; PreparedStatement pstmt = null; ResultSet rs = null;
Clob clob = null; try { stmt = con.createStatement(); rs = stmt.executeQuery("SELECT CLOB FROM YOUR_TABLE WHERE ID =" + rowID + " FOR UPDATE OF CLOB"); if(rs.next()) { clob = rs.getClob("CLOB"); }
OutputStream os = ((oracle.sql.CLOB) clob).getAsciiOutputStream();
byte[] b = updateString.getBytes("ASCII");
os.write(b); os.flush(); os.close();
pstmt = con.prepareStatement("UPDATE YOUR_TABLE SET CLOB = ? WHERE ID = " + rowID);
You might be interested in these Oracle resources to help you: Oracle9i JDBC Developer's Guide and Reference( great tutorial using Oracle/JDBC ) loads of Oracle JDBC sample code Jamie
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.