两个分别CATCH ,把错误范围最小化我感觉第一个没问题,估计是第2个错误

解决方案 »

  1.   

    似乎应该用流读写。oracle 带的 lob 例子也是用流。用流,就存在转码的问题。
      

  2.   

    跟踪调试rs.getClob("content");看看这个取出的类型是什么
    Object o = rs.getClob("content");
    System.out.println(o.getClass());
      

  3.   

    我用的是这种方法!不知对LZ有用否!?
    import java.sql.Clob;
    Clob clob = null;
    clob = rs.getClob("content");
      

  4.   

    其实我试了很多方法了,第一个是单独一个里面有的,
    而第二种方法里分别包含了第一种oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("content");
    和第二种OracleConnection OCon=(OracleConnection)connect;取出的是rs.getClob("CONTENT").getClass();得到的是:oracle.sql.CLOB这种,按理应该是不用再转化了吧,可是如果不用oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("content");
    来强制转化又会出现:clob不能转化为CLOB;只有加了强制转化才在程序上不出错,可是调试这一块就通不过了!ray_1981(雷) 你这种我也试过了,但是不管怎么最终还得转化类型成oracle.sql.CLOB,但凡一牵扯到转化为ORACLE的相关的类型就会出
    java.lang.ClassCastExceptionjava.sql.Clob clobInfor = rs.getClob("CONTENT");
    Writer clobWrite=((oracle.sql.CLOB)clobInfor).getCharacterOutputStream();//java.lang.ClassCastException