日期:2014-05-17  浏览次数:20715 次

JAVA操作ORACLE clob转换异常
用JNDI连接抛出转换异常
用JDBC连接正常运行,
求解JNDI连接异常解决方案
转换代码:clob= (oracle.sql.CLOB)(rs.getClob(1));
异常信息:java.lang.ClassCastException: oracle.sql.CLOB

------解决方案--------------------
这是因为web容器的连接池里返回的对象不是oracle.sql.CLOB,而是java.sql.Clob对象,返回类型不一样当然会出错了
------解决方案--------------------
你用jdbc时其实用的oracle自带的包里的connection,所以是没问题的
------解决方案--------------------
没有你那么用的吧
rs.getClob(1)//这句话你将1转为CLOB类型,但是1并不是clob类型的

oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOB");
你用rs.getClob("CLOB"),其中“CLOB”为clob字段

------解决方案--------------------
探讨

没有你那么用的吧
rs.getClob(1)//这句话你将1转为CLOB类型,但是1并不是clob类型的

oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOB");
你用rs.getClob("CLOB"),其中“CLOB”为clob字段