OracleResultSet ors = (OracleResultSet) rs;
oracle.sql.CLOB clob = (oracle.sql.CLOB) ors.getClob("POLICY_CONTENT");试试看,不行的话就用OracleResultSet ors = (OracleResultSet) rs;
oracle.sql.CLOB clob = (oracle.sql.CLOB) ors.getObject("POLICY_CONTENT");

解决方案 »

  1.   

    在OracleResultSet ors = (OracleResultSet) rs这句话这里就报类型转换异常java.lang.ClassCastException;下面的方法就没法试了。还有其他方法吗?
      

  2.   

    经过多凡寻找,我发现此问题出现的原因是因为我用了weblogic的连接池,代码中Connection conn = getDataStore().getConnection()这句就是调用了连接池的连接。而我换成jdbc直连就没问题了,
    Connection conn = null;
             try{
               Class.forName("oracle.jdbc.driver.OracleDriver");
               conn = DriverManager.getConnection("jdbc:oracle:thin:@172.18.3.2:1521:oracle","sysaa", "sysaa");
             }catch (Exception e) {
               e.printStackTrace();
             }
    虽然找到症结所在,问题也可以解决,但这却不是我最好的解决办法,求那位高手指点,为什么会这样,有什么解决方法没有?问题会不会是因为我用的事thin连接,oci能解决吗?
      

  3.   

    //try java.sql.Clob
    java.sql.Clob clob=rs.getClob("POLICY_CONTENT");
      

  4.   

    不行,问题不是出在java.sql.Clob clob=rs.getClob("POLICY_CONTENT"),而是rs类型转换上。朋友们可以去试一试,用连接池,应该会出现这个问题。网上搜到的都是不用连接池的例子
      

  5.   

    每人解决,我自己解决了!
    经过我在bea站点的寻找,总算知道解决问题的方法了,weblogic连接池体工队oracle及其lob的支持,但却是通过weblogic自己提供的JDBC类来实现的,对于oracle jdbc的类却不支持。所以代码中引用的oracle jdbc的类替换成weblogic 提供的类就可以解决问题了