1

Oracle Forms トリガー内で、host コマンドを使用してファイル サーバー上にディレクトリを作成しています。私のコードのこの部分の例は次のとおりです。

HOST ('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);

ディレクトリがサーバー上に作成されていない場合は、エラー コードを返す必要があります。追加する必要があるコードの提案はありますか?

ありがとうございました。

4

3 に答える 3

2

実際の OS レベルのエラー コードを探している場合は、運が悪いです。ジェフリー・ケンプからの前述の回答 は、あなたが得る最高のものです。

失敗した場合は、フォームを実際に実行するマシン (通常はアプリケーション サーバー) で HOST ビルトインが実行されることに注意してください。そのため、コマンドはアプリケーション サーバーの特定の OS に対して有効である必要があります。

また、あなたの例で'mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY は、コマンドmkdirと文字列の間にスペースがなく、コマンドが失敗する可能性があります。

于 2010-10-07T18:33:04.853 に答える
2

FORM_SUCCESS何らかの理由でコマンドが失敗した場合に返さFALSEれます (ただし、Windows 95 を使用している場合を除きます。その場合でも が返されますTRUE)。

HOST('...');
IF NOT FORM_SUCCESS THEN
  MESSAGE('something went wrong');
END IF;
于 2010-09-17T03:05:36.177 に答える
1

このステートメント HOST(vCommand || ' > error.txt'); を使用すると、エラー メッセージを取得できます。

于 2010-12-09T16:28:46.943 に答える