Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何超时java.sql.ResultSet_Java_Database_Plsql_Timeout - Fatal编程技术网

如何超时java.sql.ResultSet

如何超时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驱动程序是否真的支持此功能,因为它是

PL/SQl游标由于某种原因被挂起,这使得我的应用程序在尝试循环通过
ResultSet
时挂起

有没有办法处理这个问题,比如在数据库挂起时超时结果集?

java.sql.Statement接口上有一个setQueryTimeout(int)。您应该在调用executeQuery()之前调用它

也可以通过对语句调用cancel()异步取消正在运行的查询


编辑:Oracle jdbc驱动程序版本6肯定支持这些方法,因为我正在我的一个项目中使用它。

但是请检查您的jdbc驱动程序是否真的支持此功能,因为它是可选的ResultSets@G我该怎么检查呢?特别是对于DB2 Universal JDBC驱动程序提供程序,我疯狂地在谷歌上搜索,没有找到帮助我的文档:(使用
queryTimeout
并非在所有情况下都有效。例如,如果
ResultSet
StoredProcedure
中作为输出参数返回。超时仅在
CallableStatement.execute()
方法中考虑