oracle.ucp.jdbc.PoolDataSourceFactory和oracle.jdbc.ReadTimeout不会取消查询

时间:2012-05-24 18:31:07

标签: java oracle jdbc

我的查询运行时间超过了oracle.jdbc.ReadTimeout指定的值。它失败并出现SQLRecoverableException,这一切都很好。除了查询不能取消,Oracle继续处理它。试图捕获该异常并对语句执行取消失败,因为该语句已经关闭。

1 个答案:

答案 0 :(得分:0)

这太傻了。应使用Statement.setQueryTimeout()设置查询超时,然后将正确取消查询。基本上setQueryTimeout应该总是低于oracle.jdbc.ReadTimeout,每个人都会很开心。