Access 2000 の .ldb ファイルについて

文書翻訳 文書翻訳
文書番号: 208778 - 対象製品
この記事は、以前は次の ID で公開されていました: JP208778
Microsoft Access 97 については、次の資料を参照してください。136128
難易度 : 中。基本的なマクロ、コーディング、相互運用性に関する知識が必要です。

この資料は Microsoft Access データベース (.mdb) についてのみ記述したものです。

Microsoft Access 2002 については、次の資料を参照してください。299373
すべて展開する | すべて折りたたむ

目次

概要

.ldb ファイルは、Microsoft Jet データベース エンジン 4.0 のマルチユーザー環境で重要な役割を果たします。.ldb ファイルは、共有で使用されているデータベースにおいて、どのレコードがだれによってロックされているかを判断するために使用されます。

詳細

.ldb ファイルの自動作成および自動削除

共有で使用するために開かれたそれぞれのデータベースに対して、.ldb ファイルが作成されます。そしてコンピュータ名とセキュリティ名が格納され、拡張バイト範囲ロックを格納します。.ldb ファイルは、開かれたデータベース (.mdb) と常に同じ名前で、開かれたデータベースと同じフォルダ内に存在します。たとえば、C:\Program Files\Microsoft Office\Office\Samples フォルダの Northwind.mdb サンプル データベースを共有で使用するために開くと、Northwind.ldb というファイルが同じフォルダ内に自動的に作成されます。

最後のユーザーが共有データベースを閉じると必ず、.ldb ファイルは削除されます。ただし、例外としてユーザーが削除の権利を持っていない場合、またはデータベースが破損している場合には削除されません。データベースが破損している場合、.ldb ファイルには、データベースが破損しているとマークされた時点でだれがデータベースを使用していたかなどの情報が含まれているため、.ldb ファイルは削除されません。

必要なフォルダの権限

データベースの共有を計画している場合、.mdb ファイルは、ユーザーが読み取り、書き込み、作成、および削除の権限を持っているフォルダ内に置く必要があります。ユーザーにそれぞれ異なるファイル権限を付与する場合 (たとえば、あるユーザーには読み取り専用で、あるユーザーには読み取りと書き込みなど) でも、データベースを共有しているすべてのユーザーは、そのフォルダに対しては読み取り、書き込み、および作成の権限を持っている必要があります。ただし、フォルダに対するすべての権限を許可した状態で、個別のユーザーに .mdb ファイルへの読み取り専用の権限を割り当てることができます。

: [ファイルを開く] ダイアログ ボックスの [排他] チェック ボックスをオンにしてユーザーが排他アクセスでデータベースを開くと、レコードのロックは発生しません。そのため、Microsoft Access は .ldb ファイルを開いたり作成したりしません。データベースが常に排他モードで開かれる場合、ユーザーに必要なのは、フォルダに対する読み取りと書き込みの権限のみです。

.ldb ファイルの内容

共有データベースを開く各ユーザーに対して、Jet データベース エンジンはデータベースの .ldb ファイルにエントリを書き込みます。各 .ldb エントリのサイズは 64 バイトです。最初の 32 バイトにはコンピュータ名 (JohnDoe など) が入り、2 番目の 32 バイトにはセキュリティ名 (Admin など) が入ります。Jet データベース エンジンがサポートする同時実行ユーザーの最大数は 255 なので、.ldb ファイルのサイズは 16 KB より大きくなることはありません。

ユーザーが共有データベースを閉じても、そのユーザーのエントリは .ldb ファイルから削除されません。ただし、別のユーザーがデータベースを開くと上書きされます。そのため、.ldb ファイルだけを使用して、現在、だれがデータベースを使用しているかを判断することはできません。

.ldb ファイルの用途

Jet データベース エンジンは .ldb ファイルの情報を使用して、他のユーザーがロックしているページにユーザーがデータを書き込むのを阻止し、他のページをロックしているのはだれかを判断します。Jet データベース エンジンは、他のユーザーとのロックの競合を検出した場合、.ldb ファイルを読み取って、ファイルやレコードをロックしているユーザーのコンピュータ名とセキュリティ名を取得します。

ロックの競合が発生した状況では、ほとんどの場合、一般的な "データの競合" メッセージが表示されるため、レコードの保存、クリップボードへのコピー、または行った変更の取り消しを行うことができます。ただし、特定の状況では、次のエラー メッセージが表示されることがあります。
テーブル <table name> はマシン<computer name>.のユーザー <security name> によって使用されているため、ロックできませんでした。
: .ldb ファイル内の情報の状態は、データベースの状態には何の影響もありません。.ldb ファイルが破損しても、データベース内のすべてのものは依然として正常に機能します。ただし、ロックの競合メッセージが表示される場合は、ユーザー名の代わりに判読できないテキストが表示されることがあります。

関連情報

Access 2000 で Microsoft Visual Basic for Applications を使用すると、特定のデータベースにログインしているユーザーの一覧を出力できます。

その方法、およびサンプル コードを参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
198755 [HOWTO] Access 2000 でデータベースにログインしているユーザーをチェックする方法

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 208778 (最終更新日 2005-01-26) を基に作成したものです。

プロパティ

文書番号: 208778 - 最終更新日: 2005年9月16日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft Access 2000 Standard Edition
キーワード:?
kbinfo kbusage KB208778
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com