我的查询运行时间超过了oracle.jdbc.ReadTimeout指定的值。它失败并出现SQLRecoverableException,这一切都很好。除了查询不能取消,Oracle继续处理它。试图捕获该异常并对语句执行取消失败,因为该语句已经关闭。
答案 0 :(得分:0)
这太傻了。应使用Statement.setQueryTimeout()设置查询超时,然后将正确取消查询。基本上setQueryTimeout应该总是低于oracle.jdbc.ReadTimeout,每个人都会很开心。