java.lang.ClassCastException: oracle.sql.CLOB

clover灬 2014-03-31 03:50:20
oracle.sql.CLOB clob =null;
Object obj = rs.getClob(1);
if ("oracle.sql.CLOB".equals(obj.getClass().getName()))
clob = (CLOB)obj;

这是源代码。
这个异常很是奇怪,因为上面的if判断已经通过了,可是在下面强制类型转换的时候却抛异常了。
网上有说是因为jar冲突,或者jar包版本不通,不过还是解决不了问题。
...全文
400 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
libinv123 2014-04-11
  • 打赏
  • 举报
回复
这种问题确实是java冲突,首先找到你部署的oracle驱动包位置,比如是在/home/ap/test/ojdbc6-11.1.0.7.0.jar 并把该路径加到到你应用服务器的CLASSPATH最前面 比如weblogic加载setDomainEnv.sh里面的 CLASSPATH=/home/ap/test/ojdbc6-11.1.0.7.0.jar:。。。。 你网上查到是jar冲突但是解决不了,是因为你没有改对地方
TTOS3302041 2014-04-10
  • 打赏
  • 举报
回复
clob 转string的方法: /** * 将Clob转成String ,静态方法 * * @param clob * 字段 * @return 内容字串,如果出现错误,返回 null */ public static String clobToString(Clob clob) { if (clob == null) return null; StringBuffer sb = new StringBuffer(); Reader clobStream = null; try { clobStream = clob.getCharacterStream(); char[] b = new char[60000];// 每次获取60K int i = 0; while ((i = clobStream.read(b)) != -1) { sb.append(b, 0, i); } } catch (Exception ex) { sb = null; } finally { try { if (clobStream != null) { clobStream.close(); } } catch (Exception e) { } } if (sb == null) return null; else return sb.toString(); }
clover灬 2014-04-01
  • 打赏
  • 举报
回复
CSDN是一个非常奇怪的地方。。。。

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧