java通过jdbc连接sqlserver和oracle时出现这个异常。虽然抛出这个异常,但对整个应用没有影响。这个异常产生的原因是jar包的版本不对。连接oracle10g的jdbc用ojdbc6.jar(1942k),连接sqlserver2008用sqljdbc.jar(570k),而不用sqljdbc4.jar(567k)

解决方案 »

  1.   

    你的程序中有LOB 类型的字段吗,如果有主意LOB类型的处理和其他的不同。
    LOB类型的处理详见google.
    刚学,你就不要搞LOB了。
    估计你的字段类型有问题。当然也可能有2#的问题。
      

  2.   

    jar包的版本问题  特别是oracle
      

  3.   

    楼上几位,都是大牛啊,我这就是用的oracle,jar包用的是Hibernate4.0,oracle是11g,ojdbc14.jar。已经是最新的了。。这版本问题真是无解了。。
      

  4.   

    INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
    二月 23, 2012 3:56:01 下午 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation你是玩Oracle11g?但你的Hibernate用的是Oracle10gDialect,可能问题在这儿吧?不过很久没用过Hibernate了,所以没法有啥定论。
      

  5.   

    你跟createClob()中看看发生了什么?
      

  6.   


    Hibernate4的官方资料里说11g和10g都是Oracle10gDialect。。
      

  7.   


    压根儿就没用到createClob()估计是底层的一个方法
      

  8.   

    再看了下,确实这个东西只是个 INFO 级别的,也就是说仅仅是提醒,确实无关紧要。
    INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
    另外查了下,有些处理办法,可以关闭掉这个东西:
    http://stackoverflow.com/questions/4588755/hibernate-disabling-contextual-lob-creation-as-createclob-method-threw-error
      

  9.   

    As you noticed, this exception isn't a real problem. It happens during the boot, when Hibernate tries to retrieve some meta information from the database. If this annoys you, you can disable it:hibernate.temp.use_jdbc_metadata_defaults=false mabe try.
      

  10.   

    我也遇到这个问题,换成odbc6.jar,问题就解决了!
      

  11.   

    非常感谢,我刚开始用oracale10g.jar,换成ojdbc6.jar就解决了
      

  12.   

    我的是Oracle 10g,jdk 1.7换成ojdbc6.jar还是不行啊,是不是我的版本还是不对呢?谢谢!