如何超时java.sql.ResultSet
PL/SQl游标由于某种原因被挂起,这使得我的应用程序在尝试循环通过如何超时java.sql.ResultSet,java,database,plsql,timeout,Java,Database,Plsql,Timeout,PL/SQl游标由于某种原因被挂起,这使得我的应用程序在尝试循环通过ResultSet时挂起 有没有办法处理这个问题,比如在数据库挂起时超时结果集?java.sql.Statement接口上有一个setQueryTimeout(int)。您应该在调用executeQuery()之前调用它 也可以通过对语句调用cancel()异步取消正在运行的查询 编辑:Oracle jdbc驱动程序版本6肯定支持这些方法,因为我正在我的一个项目中使用它。但是请检查您的jdbc驱动程序是否真的支持此功能,因为它是
ResultSet
时挂起有没有办法处理这个问题,比如在数据库挂起时超时结果集?java.sql.Statement接口上有一个setQueryTimeout(int)。您应该在调用executeQuery()之前调用它 也可以通过对语句调用cancel()异步取消正在运行的查询
编辑:Oracle jdbc驱动程序版本6肯定支持这些方法,因为我正在我的一个项目中使用它。但是请检查您的jdbc驱动程序是否真的支持此功能,因为它是可选的ResultSets@G我该怎么检查呢?特别是对于DB2 Universal JDBC驱动程序提供程序,我疯狂地在谷歌上搜索,没有找到帮助我的文档:(使用
queryTimeout
并非在所有情况下都有效。例如,如果ResultSet
在StoredProcedure
中作为输出参数返回。超时仅在CallableStatement.execute()
方法中考虑