在JDBC中停止或终止长时间运行的查询

Azi*_*zSM 7 java oracle jdbc

有没有办法在JDBC中停止或终止长时间运行的Oracle查询?它通常最终会重启应用程序服务器以使jdbc与Oracle DB断开连接.

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

在SQL Plus中

SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';
Run Code Online (Sandbox Code Playgroud)

在java中执行的任何线索?

Mat*_*att 8

如果你在另一个线程中运行你的查询,你可以使用Statement.cancel()来杀死它.


eis*_*eis 6

可能有点偏,但我建议改用JDBC Timeout.它具有实际优雅而不是强制终止的额外好处.

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

  • 我想让用户决定何时终止查询。可以在运行时更改并实现滑动超时之类的功能吗? (2认同)