0

Oracleフォームでホストコマンドを使用しようとしています。ユーザーからの入力としてプロセスIDを取得し、[OK]をクリックすると、フォームはプロセスIDに関連するセッションを強制終了する必要があります。

PS: ユーザーは、非アクティブな frmweb.exe プロセス ID のみを入力します。

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe';
host(cmd)

上記のコマンドをアプリケーションサーバーの.batファイルに書き込んでみました.batファイルを実行しようとすると、動作します。しかし、アプリケーションサーバーでダブルクリックしてbatファイルを実行しようとすると、セッションが強制終了されました。

  1. 上記を実行すると、プロセスを強制終了できません。
  2. また、ホスト コマンドが成功したかどうかも知りたいです。

私を助けて、先に進むように導いてください。Orakill と Alter Session は機能していますが、使用したくありません。

4

1 に答える 1

0

デバッグ用にコマンド実行をテキストに書いてみたところ、解決策を見つけることができました。

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe>>output.txt';

Oracle Forms からの呼び出し時にコマンドが失敗していたため、コマンドの最後にいくつかの特殊文字が書き込まれていました。特殊文字は、Oracle Forms のコードのタイプミスが原因でした。

于 2013-11-16T10:52:33.333 に答える