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

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

寻找类似于SQL Plus的function – 用Java或JDBC Kill session

在SQL Plus中

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

在java中执行的任何线索?

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

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

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

您可以尝试Statement.setQueryTimeout