我有个字符串,长度会达到10万以上,而oracle的缓冲区貌似只有32767,用存储过程插入oracle会报字符串超长的错误,网上搜了一下,好像说可以用dbms_lob.write()方法,本人比较菜,看不懂网上的例子,请教高手到底怎么用?
比如表结构如下:
id number(10) primary key,
str_val clob
就这两个字段,请问如何将一条长度为10万的字符串插入表中?
或者不用dbms_lob.write()也行,只要能插到表中就行。
请高手不吝赐教,在线等,谢谢。
比如表结构如下:
id number(10) primary key,
str_val clob
就这两个字段,请问如何将一条长度为10万的字符串插入表中?
或者不用dbms_lob.write()也行,只要能插到表中就行。
请高手不吝赐教,在线等,谢谢。
String sqlInsert = "INSERT INTO FISHBONE_DIAGRAM ( FISHBONE_DIAGRAM_ID,TIPS_ID, DIAGRAM_RAWDATA) VALUES (100, 2, empty_blob() ) ";
stmt.executeUpdate(sqlInsert); ResultSet rset=stmt.executeQuery( "SELECT DIAGRAM_RAWDATA FROM FISHBONE_DIAGRAM where FISHBONE_DIAGRAM_ID=100 for update ");
byte[] b = new byte[3];
b[0]= 'a ';
b[1]= 'b ';
b[2]= 'c ';
if (rset.next()) {
oracle.sql.BLOB blob = (oracle.sql.BLOB) rset.getBlob( "DIAGRAM_RAWDATA ");
OutputStream out = blob.getBinaryOutputStream();
out.write(b);
out.flush();
out.close(); }
http://topic.csdn.net/t/20040915/18/3376085.html
先插入个空值,在实例化CLOB对象来赋值