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

解决方案 »

  1.   

    这是因为web容器的连接池里返回的对象不是oracle.sql.CLOB,而是java.sql.Clob对象,返回类型不一样当然会出错了
      

  2.   

    你用jdbc时其实用的oracle自带的包里的connection,所以是没问题的
      

  3.   

    没有你那么用的吧  
    rs.getClob(1)//这句话你将1转为CLOB类型,但是1并不是clob类型的oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOB");
    你用rs.getClob("CLOB"),其中“CLOB”为clob字段
      

  4.   


    你的理解是错误的,rs.getClob(1)这里的理解是,读取出来的记录的第一个字段以CLOB方式读出,而不是将1转成CLOB格式吧。至于楼主的问题,我觉得你应该根据程序中需要使用的类型来处理就好,JNDI的程序中,如果不是非使用ORACLE的CLOB类型就不用咯,换个方式来解决
      

  5.   

    clob= (oracle.sql.CLOB)(rs.getClob(1));
    我是确定rs.getClob(1)是clob类型才这么写的