0
我有一個查詢運行時間超過了oracle.jdbc.ReadTimeout指定的值。它失敗了,這是一個很好的SQLRecoverableException。除了查詢不能取消以及Oracle繼續處理它。嘗試捕獲該異常並對語句執行取消操作失敗,因爲語句已關閉。oracle.ucp.jdbc.PoolDataSourceFactory和oracle.jdbc.ReadTimeout不會取消查詢
我有一個查詢運行時間超過了oracle.jdbc.ReadTimeout指定的值。它失敗了,這是一個很好的SQLRecoverableException。除了查詢不能取消以及Oracle繼續處理它。嘗試捕獲該異常並對語句執行取消操作失敗,因爲語句已關閉。oracle.ucp.jdbc.PoolDataSourceFactory和oracle.jdbc.ReadTimeout不會取消查詢
這很愚蠢。查詢超時應設置爲Statement.setQueryTimeout(),然後查詢將被正確取消。基本上setQueryTimeout應該總是低於oracle.jdbc.ReadTimeout,每個人都會很開心。