自動レコード ロック タイムアウト

ファイルを共有するマルチユーザー環境では、プログラムはレコード ロックを使用して個々のレコードへの同時アクセスを制御します。さらに、Fileshare では、トランザクションの中で更新するレコードについてレコード ロックを自動的に取得します。しかし、使用中のレコード ロック数が多いほど、同時にアクセスできるデータが少なくなります。そのため、1 つのプログラムが一度に確保するレコード ロック数を最小限にすることが重要です。

ある Fileshare クライアントがレコードでロックを取得した後で (明示的に指定したため、またはトランザクションの中でレコードを更新したために)、別の Fileshare クライアントがロックされたレコードを読み込もうとした場合は、Fileshare サーバーが、レコード ロックを確保している Fileshare クライアントによる最後の Fileshare サーバーへの要求の送信後の経過時間を調べます。この経過時間に応じて、次の処理が行われます。

デフォルトのタイムアウト時間は、60 秒です。Fileshare サーバーの構成ファイルで /t オプションを使用すると、この値を変更できます。値 0 を指定すると自動レコード ロック タイムアウトを無効にし、レコード ロックの解放は、アプリケーション プログラムのみで制御します。

タイムアウトしたプログラムは、次の入出力操作時に、エラー 9/125 を受け取ります。このエラー メッセージは、警告メッセージとして扱い、エラーが返された操作を繰り返す必要があります。Fileshare サーバーは、アクティブなトランザクションをロールバックし、タイムアウトしたプログラムで確保されているすべてのレコード ロックを解放します。