8

有什么方法可以停止或终止 JDBC 中长时间运行的 Oracle 查询?它通常以重新启动应用程序服务器以使 jdbc 与 Oracle DB 断开连接而告终。

Kill session在 Java 或 JDBC 中寻找类似于 SQL Plus 的功能

在 SQL 加

SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';

在java中执行的任何线索?

4

3 回答 3

8

如果没有 jdbc 超时,如果您在另一个线程中运行查询,您可以使用 Statement.cancel() 来终止它。

于 2012-06-08T16:03:55.973 回答
6

可能有点过时,但我建议改用JDBC Timeout。它还有一个额外的好处,就是优雅地终止而不是强制终止。

使用现代应用服务器,您通常可以从数据源配置中定义 JDBC 超时。

于 2012-06-08T10:43:09.353 回答
2

你可以试试 Statement.setQueryTimeout

于 2012-06-09T12:30:36.423 回答