Java code
String sql = "SELECT " + k_data + " FROM " + tab + " WHERE " + k_id
+ "='" + this.id + "' FOR UPDATE";
ResultSet rs = stmt.executeQuery(sql); Blob b = rs.getBlob(k_data);
System.out.println(b.getClass());
oracle.sql.BLOB blob = (oracle.sql.BLOB) b; 关键代码如上(位置关系,精简了很多,没有查询异常),oracle.sql.BLOB blob = (oracle.sql.BLOB) b;这里报classCastException。
System.out.println(b.getClass());的输出是oracle.sql.BLOB
网上查了很久,都说是驱动包重复的问题。
已经试了很多次,把工程里面关于oracle的包都删掉,外部引用tomcat里面的orcl14,错误依旧。
tomcat里面的orcl14不能删,配置连接池的时候要用到。
orcl5, orcl6, oracle等包一个个轮换着放进工程里面,还是错。
各位帮帮拖啊
String sql = "SELECT " + k_data + " FROM " + tab + " WHERE " + k_id
+ "='" + this.id + "' FOR UPDATE";
ResultSet rs = stmt.executeQuery(sql); Blob b = rs.getBlob(k_data);
System.out.println(b.getClass());
oracle.sql.BLOB blob = (oracle.sql.BLOB) b; 关键代码如上(位置关系,精简了很多,没有查询异常),oracle.sql.BLOB blob = (oracle.sql.BLOB) b;这里报classCastException。
System.out.println(b.getClass());的输出是oracle.sql.BLOB
网上查了很久,都说是驱动包重复的问题。
已经试了很多次,把工程里面关于oracle的包都删掉,外部引用tomcat里面的orcl14,错误依旧。
tomcat里面的orcl14不能删,配置连接池的时候要用到。
orcl5, orcl6, oracle等包一个个轮换着放进工程里面,还是错。
各位帮帮拖啊
tomcat自带的orcl14与楼主使用数据库的版本是否一致。
不妨用数据安装时自带的jdbc替换掉tomcat的驱动试一下。
在我的环境里oracle11g ojdbc6+jdk1.60_10测试,可以将getBlob的结果转换成oracle.sql.BLOB类。