一个静态函数, 直接使用即可,函数没有考虑到CLOB区数据很大的情况, 大家可以根据自己的需要来使用
/**
* 从数据库中提取CLOB类型字段的内容并转换为字符串
* @param rs 数据库ResultSet,含有CLOB类型的字段
* @param clobidx 含有CLOB类型字段在ResultSet中的索引
* @return 取出的字符内容
* @throws SQLException
*/
public static StringBuffer getCLOBContent(ResultSet rs,int clobidx) throws SQLException
{
log.debug("开始获取CLOB内容,index="+clobidx);
oracle.sql.CLOB clobField = ((OracleResultSet)rs).getCLOB(clobidx);
long clen=clobField.length();
char clobArray[] = new char[(int)clen];
int readednum= clobField.getChars(1,(int)clen,clobArray);
StringBuffer sb = new StringBuffer();
sb.append(clobArray);
log.debug("读出的CLOB内容为[\r\n"+sb.toString()+"]");
return sb;
}