日期:2014-05-18  浏览次数:20714 次

请教关于CLOB
某个表A   有个子段CMMT是CLOB类型的。
System.out.println(rs.getClob( "CMMT "));
打印结果为什么是:oracle.sql.CLOB@21f46a

------解决方案--------------------
使用getAsiiStream把CLOB值物化为一个包含Ascii字节的字符流。
① 使用getAsiiStream把CLOB值物化为一个包含Ascii字节的字符流。
Clob notes = rs.getClob(“NOTES”);
java.io.InputStream in = notes.getAsciiStream();
byte b = in.read();


② 使用getCharacterStream把CLOB值物化为一个Unicode字符流。
Clob notes = rs.getClob(“NOTES”);
java.io.Reader reader = notes.getCharacterStream();
int c = reader.read();
//


③ 使用getSubString将CLOB值的全部或者部分化为一个String对象。
Clob notes = rs.getClob(4);
String substring= notes.getSubString(10,5);
或者
long len =notes.length();
String substring = notes.getSubString(1,(int)len);