有没有办法在JDBC中停止或终止长时间运行的Oracle查询?它通常最终会重启应用程序服务器以使jdbc与Oracle DB断开连接。
在Java或JDBC中寻找类似于SQL Plus - Kill session
的功能
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';
在java中执行的任何线索?
答案 0 :(得分:7)
缺少jdbc超时,如果在另一个线程中运行查询,可以使用Statement.cancel()来终止它。
答案 1 :(得分:6)
可能有点偏,但我建议改用JDBC Timeout。它有额外的好处,实际上是优雅地终止而不是强制终止。
使用现代应用服务器,您通常可以从数据源配置定义JDBC超时。
答案 2 :(得分:1)
您可以尝试使用Statement.setQueryTimeout