8

JDBCで長時間実行されているOracleクエリを停止または終了する方法はありますか?多くの場合、アプリケーションサーバーを再起動して、jdbcをOracleDBから切断します。

SQLPlusに類似した機能を探していますKill session-JavaまたはJDBCで

SQLPlusで

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

Javaで実行する手がかりはありますか?

4

3 に答える 3

8

jdbcタイムアウトを除いて、別のスレッドでクエリを実行する場合は、Statement.cancel()を使用してクエリを強制終了できます。

于 2012-06-08T16:03:55.973 に答える
6

おそらくビットオフですが、代わりにJDBCタイムアウトを使用することを提案します。これには、強制ではなく実際に正常に終了するという追加の利点があります。

最新のアプリサーバーでは、通常、データソース構成からJDBCタイムアウトを定義できます。

于 2012-06-08T10:43:09.353 に答える
2

Statement.setQueryTimeoutを試すことができます

于 2012-06-09T12:30:36.423 に答える