在使用tomcat连接池的情况下,怎样将普通的resultset转换为oracle.jdbc.OracleResultSet,涉及倒blob字段

解决方案 »

  1.   

    需要用OracleDataSource代替DataSource,否则强制类型转换会出错。用法如下:
    import oracle.jdbc.pool.*;
        OracleDataSource ds = new OracleDataSource();
        ds.setDriverType("thin");
        ds.setServerName("dssw2k01");
        ds.setPortNumber(1521);
        ds.setDatabaseName("orcl"); // sid
        ds.setUser("scott");
        ds.setPassword("tiger");    Connection conn = ds.getConnection();    Statement stmt = conn.createStatement();
        stmt.executeUpdate("INSERT INTO FUJIAN (NUM_ID,BFILE) VALUES("+numid+",EMPTY_BLOB())"); //增加空的BLOB
        ResultSet myResultSet=stmt.executeQuery("SELECT BFILE FROM FUJIAN WHERE NUM_ID="+numid+" FOR UPDATE");//锁定更新BLOB
        myResultSet.next();
        BLOB myBlob=((OracleResultSet)myResultSet).getBLOB("BFILE");//强制类型转换