java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
来源:互联网 发布:oracle数据库软件 编辑:程序博客网 时间:2024/05/19 19:40
开发时,向oracle写入blob数据时,如下:
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);
BufferedOutputStream bos = new BufferedOutputStream(blob.getBinaryOutputStream());
bos.write(define.getBytes("UTF-8"));
但是发布到weblogic上,使用weblogic的连接池,就抛错了,如下:
java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
后来查了一下,原因是通过weblogic连接池取出的连接取出的blob对象是weblogic封装过的OracleThinBlob,而不是oracle.sql.BLOB。然后又看了一下OracleThinBlob的方法与oracle.sql.BLOB类似,所以采用了下面的写法,避免异常:
Object obj = rs.getBlob(1);
Class clazz = obj.getClass();
Method method = clazz.getMethod("getBinaryOutputStream", new Class[]{});
OutputStream os = (OutputStream)method.invoke(obj, new Object[]{});
BufferedOutputStream bos = new BufferedOutputStream(os);
bos.write(define.getBytes("UTF-8"));
这样写既避免了异常,也抛开了对oracle驱动jar的依赖。
如果发布环境比较复杂,也可以增加一些判断来分别处理。
- java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
- java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
- All About JAVA java.lang.ClassCastException: weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 异常
- weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB cannot be cast to oracle.sql.BLOB 不改程序解决方法
- weblogic报java.lang.ClassCastException
- Couldn't store job: Driver's Blob representation is of an unsupported type: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
- java.lang.ClassCastException: antlr.CommonToken异常[weblogic]
- weblogic报java.lang.ClassCastException之解决
- 大家帮帮我啊,weblogic上报错java.lang.ClassCastException
- Caused by: java.lang.ClassCastException: weblogic.xml.jaxp.RegistryXMLReader
- Weblogic上修改类报异常:java.lang.ClassCastException
- weblogic被root重启后出现 java.lang.ClassCastException
- weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转换成String
- java.lang.ClassCastException翻译
- java.lang.ClassCastException
- java.lang.ClassCastException问题
- java.lang.ClassCastException
- java.lang.ClassCastException
- 计算结构体的大小
- QImage与QPixmap加载图片 效果
- JSON解析
- 数据库优化方法(三)
- 系统服务调整(ServicesSet-Optimization.CMD )_一般用户
- java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
- 随机排序
- LRU算法 java实现
- boost python def 函数导出
- Linux 基础的常用命令
- main函数的参数与返回值
- 子数组之和
- android图片浏览器(二)——实现显示图片的标题
- ruby生成C++头文件引用关系图