试试这个呢
http://blog.bc-cn.net/user17/97897/archives/2006/2818.shtml

解决方案 »

  1.   

    还有,你的weblogic是什么版本
      

  2.   

    你给的地址的方法我也用了。现在怎么的都报一个错误就是在转型的时候。
    java.lang.ClassCastException: weblogic.jdbc.base.BaseBlob
      

  3.   

    OracleThinBlob和oracle.sql.BLOB都转型不了,一转就报错。
    java.lang.ClassCastException: weblogic.jdbc.base.BaseBlob
      

  4.   

    你应该使用oracle的驱动程序,不应该使用weblogic自带的驱动,这问题就能解决
      

  5.   

    没用过weblogic,我在glassfish+oracle10g上采用下面的代码倒是没有问题
    最好使用oralce的最新ojdbc.jar驱动。Blob 都用oracle.sql.Blob
                 
                String sqls = "UPDATE CMM SET vale = EMPTY_BLOB() WHERE ID =?" ;
                conn = Connections.getConnection();
                ps = conn.prepareStatement(sqls);
                ps.setLong(1,cmm.getId());
                ps.execute();
                conn.setAutoCommit(false);
                sqls = "SELECT vale FROM cmm WHERE ID = ? FOR UPDATE";
                ps = conn.prepareStatement(mysql);
                ps.setLong(1, cmm.getId());
                ResultSet r = ps.executeQuery();
                Blob b;
                for(b = null; r.next(); b = (BLOB)r.getBlob(1));
                r.close();
                OutputStream os = b.getBinaryOutputStream();
                InputStream contentStream = cmm.getInputStream();
                int i;
                while((i = contentStream.read()) > -1) 
                    os.write(i);
                os.close();
                conn.commit();
      

  6.   

    楼上的兄弟,我的问题应该是weblogic自己封装过Blob后的问题。因为转换的时候出错。