oracle 6.java.sql.SQLException: 不支持的特性

本文介绍了一个关于使用Hibernate连接Oracle数据库时出现的异常问题及解决方案。异常主要由于Oracle JDBC驱动与Hibernate配置之间的不兼容导致,通过更换ojdbc14.jar版本至10.2.0.2.jar成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目启动报如下异常:
Java代码 复制代码  收藏代码
  1. With the Partitioning, Data Mining and Real Application Testing options   
  2. 1343 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0  
  3. 1390 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.SQLServerDialect   
  4. 1406 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException   
  5. 1406 [main] WARN org.hibernate.cfg.SettingsFactory - Could not obtain connection metadata   
  6. java.sql.SQLException: 不支持的特性   
  7.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)   
  8.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)   
  9.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)   
  10.     at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)   
  11.     at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180)   
  12.     at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:127)   
  13.     at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)   
  14.     at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)   
  15.     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)   
  16.     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)   
  17.     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)   
  18.     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)   
  19.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)   
  20.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)   
  21.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)   
  22.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)   
  23.     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)   
  24.     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)   
  25.     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)   
  26.     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)   
  27.     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)   
  28.     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)   
  29.     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)   
  30.     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)   
  31.     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)   
  32.     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)   
  33.     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)   
  34.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)   
  35.     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)   
  36.     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)   
  37.     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)   
  38.     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)   
  39.     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)   
  40.     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)   
  41.     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)   
  42.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)   
  43.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)   
  44.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)   
  45.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)   
  46.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)   
  47.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)   
  48.     at org.apache.catalina.core.StandardService.start(StandardService.java:516)   
  49.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)   
  50.     at org.apache.catalina.startup.Catalina.start(Catalina.java:583)   
  51.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   
  52.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   
  53.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   
  54.     at java.lang.reflect.Method.invoke(Method.java:597)   
  55.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)   
  56.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)  
With the Partitioning, Data Mining and Real Application Testing options
1343 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0
1390 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.SQLServerDialect
1406 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
1406 [main] WARN org.hibernate.cfg.SettingsFactory - Could not obtain connection metadata
java.sql.SQLException: 不支持的特性
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
	at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)
	at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:127)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

项目中用的是ojdbc14.jar,替换成高版本的ojdbc14-10.2.0.2.jar,问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值