Could not obtain connection metadata

时间:2023-03-09 00:20:41
Could not obtain connection metadata
用hibernate连接数据库出现错误

2010-3-16 17:23:39, 093  [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 com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.supportsGetGeneratedKeys(NewProxyDatabaseMetaData.java:3578 )   

... ....

在运行springside3的mini-service项目时,想更改为oracle数据库,于是从老项目中拷了ojdbc14.jar,本以为一切OK。

当我自信地启动tomcat后,一直出现上面贴出的错误,百思不得其解;因为,JDK、TOMCAT、ORACLE及oracle驱动和我老项目完全一样,
数据库连接也肯定不会错的。见许多网友说是jar的问题,然后我就从oracle官网上下了9.2.0.8的ojdbc14.jar,重新运行,OK!!!

而之前我的ojdbc14.jar是从oracle本地拷贝出来的,我的oracle版本是9.2.0.1,心里感觉有点不舒服,后来一想,
我以前用的是hibernate3.2,现在springside3使用的是hibernate3.3,所以也合情合理,呵呵

一般情况下是jar包不对或者jar包的版本不对