エラー発生時

エラー発生時のデフォルトの対応方法を指定します。「R=復旧」または「A=アボート」のいずれかを指定します。

通常は、オプションを適切に選択することで、エラー処理のための特別なユニットは必要ありません。デフォルトのオプションでは対応が適当でない場合に、エラーイベントのユニットを作成することでデフォルト設定を変更します。

以下は、エラーのリストと選択された対応動作に基づいて自動的に行われる処理内容について説明したものです。各動作の詳細は、「エンジンの対応」を参照してください。

エラー

アボート

復旧

テーブルロック不可

自動リトライ

自動リトライ

レコードロック

自動リトライ

自動リトライ

最大接続数超過

タスクをアボート

自動リトライ

重複インデックス

タスクをアボート

ユーザによってリトライ

制約違反

タスクをアボート

ユーザによってリトライ

トリガ失敗

タスクをアボート

ユーザによってリトライ

レコードが更新されていた

タスクをアボート

ロールバックと再起動

レコードを別ユーザが変更

タスクをアボート

ロールバックと再起動

テーブルのオープン失敗

タスクをアボート

タスクをアボート

 

注意:

他のユーザによってレコードが変更された場合、レコードにパークした時、(データはキャッシュにあるため)変更されたことを確認することができません。しかし、データを修正しようとした時点で、現在の値がディスクから読まれ、「レコードは変更されました-再読み込みします」のメッセージが表示されます。

キャッシュ範囲]特性を「位置とデータ」に設定すると、レコードの実際のデータもキャッシュに保存します。このレコードから再度読み込んだ場合、キャッシュに保存されている古い値を取得することになります。別のタスクによってこのデータが変更されても、現在のタスクからは参照できないため注意してください。別のタスクで修正されたレコードを更新しようとすると、エラーメッセージが表示されます。

関連トピック: