2014-03-25 142 views
0

,我发现了以下错误:越来越oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException错误

Exception in thread "main" 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.driver.OracleConnection.createStatement(OracleConnection.java:3224) 

,这是指向下面的代码行的:

ResultSet resultSet = getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT).executeQuery(Request.getEtat()); 

这主要是由于我的环境中存在一些不受支持的功能,因此我的代码段中存在什么问题?
非常感谢您的帮助。

+0

除了您的代码泄漏资源的事实之外,我没有看到任何明显的错误。你使用的是哪个版本的驱动程序? –

回答

1

ResultSet.HOLD_CURSORS_OVER_COMMIT仅在Oracle JDBC 10.2.0或更高版本的Oracle 10g 10.2.0及更高版本中受支持。见http://docs.oracle.com/cd/E11882_01/java.112/e16548/overvw.htm#JJDBC28045

特征|服务器端内部| JDBC OCI | JDBC Thin
...
JDBC 3.0可保持游标| 10.2.0 | 10.2.0 | 10.2.0

当您指出您使用的是Oracle 9i时,该功能不起作用并引发异常。作为例外是SQLException而不是SQLFeatureNotSupportedException,我假设你也使用了一个旧驱动程序。

+0

谢谢@Mark帮忙:) – mounaim