DBCHCLからは、回復の方法は以下に示す2つのオプション フラグによって制御されます。
- 回復フラグ。このフラグは、MTDPを使用してセッションを自動的に再接続することを試みる必要があるかどうかを決定します。
- 報告オプション。このオプションは、クラッシュをアプリケーションに報告する必要があるかどうかを決定します。
回復フラグをNに設定したトランザクションにクラッシュが発生した場合には、MTDPは自動的には再接続せずに、報告オプションの設定値にかかわりなく、エラー メッセージがアプリケーションに返されます。
回復オプションをYに設定した場合には、報告フラグがNに設定されている場合、またはSCB内に維持されているセッション状態フラグがセッションがクラッシュしていることを示しているときに報告フラグがYに設定されている場合にのみ、自動回復が試みられます。
セッションがクラッシュしていないときに回復フラグをYに、報告フラグをYに設定した場合には、エラー メッセージがアプリケーションに返されます。 通常アプリケーションでは、報告フラグをオフにして、セッションに再接続するためにトランザクションを再び実行します。
セッションがクラッシュしたことを示すエラーをMTDPが返すときには、関連するSCBの状態フラグが、セッションがもはやデータベースに接続されていないことを示すように設定されます。