ユーザー出口プログラムからの戻りコードをデータベース・マネージャーが適切に処理できるようにするために、 プログラムは、特定の結果を示すための特定の戻りコードを出すようにコーディングする必要があります。
表 76 は、ユーザー出口プログラムが戻すことのできる戻りコードと、
それをデータベース・マネージャーがどのように解釈するかを示しています。
戻りコードが表にリストされていない場合は、値 32 の場合と同じように扱われます。
戻り コード | 結果 (注 1) | 説明 |
---|---|---|
0 | − | 正常実行。 |
4 | 注 2 | 一時リソース・エラーが検出された。 |
8 | 注 2 | 操作員要介入。 |
12 | 注 3 | ハードウェア・エラー。 |
16 | 注 3 | ユーザー出口プログラムまたはそのプログラムで使用されているソフトウェア機能にエラー。 |
20 | 注 3 | ユーザー出口プログラムに渡された 1 つまたは複数のパラメーターにエラー。 渡されたパラメーターをユーザー出口プログラムが正しく処理しているか調べてください。 |
24 | 注 3 | ユーザー出口プログラムが検出されなかった。 OS/2 の場合、このエラー・メッセージは、 RESTORE DATABASE 操作を完了するために必要なファイルが、 現行のバックアップ媒体上で検出されなかったことも意味します。 |
28 | 注 3 | 入出力障害またはオペレーティング・システムによるエラー。 |
32 (および他のすべての値) | 注 3 | ユーザー出口プログラムがユーザーにより終了させられた。 |
注:
要求の処理が 5 分間中断した後、次の要求が処理されます。 この要求の処理時にエラーが発生しなければ、 新しいユーザー出口プログラム要求の処理が続けられます。 再試行時に 8 より大きい戻りコードが生成される場合、要求はさらに 5 分間中断されます。 このような 5 分間の中断は、問題が訂正されるまで、 あるいはデータベースを停止して再始動するまで繰り返されます。
すべてのアプリケーション・データベースから切断された後で、 データベースを再オープンすると、 問題を引き起こしたログ・ファイルについての要求が繰り返されます。 正常に処理されたら、中断中に生成された要求があれば、それらが処理されます。
ユーザー出口プログラムがログ・ファイルを保存するために呼ばれた場合は、 使用するディスクがログ・ファイルでいっぱいになることがあり、 この場合、これらのログ・ファイルを形式設定するための余分な作業のために、 パフォーマンスが低下することがあります。 ディスクがいっぱいになると、 データベース・マネージャーはデータベース変更に関するアプリケーション要求を受け入れなくなります。
ログ・ファイルを検索するためにユーザー出口プログラムが呼び出されると、 ロールフォワード回復は延期されますが、 ROLLFORWARD DATABASE ユーティリティーで停止が指定されていない限り、 停止することはありません。 停止が指定されていなかった場合は、問題を訂正して回復を再開することができます。
ユーザー出口プログラムは基礎をなすオペレーティング・システムのコマンド・プロセッサーに呼び出されるので、 ゼロ以外の戻りコードがオペレーティング・システムから戻される可能性があります。 これらのエラー・コードは、再マップされません。 これらのエラー・コードの説明については、 オペレーティング・システムのメッセージ・ヘルプ情報を調べてください。
BACKUP DATABASE および RESTORE DATABASE ユーティリティーの場合、 ユーザー出口プログラムにより戻されるゼロ以外の戻りコードによって、 ユーティリティーは失敗し、再試行は行われません。 このユーティリティーは汎用 SQLCODE -2029 を報告します。 この SQLCODE のメッセージ・テキストには、 ユーザー出口プログラムまたはオペレーティング・システムから戻される戻りコードが表示されます。