適用先: Access 2013 | Access 2016
Microsoft Access データベース エンジン データベース ドライバーをインストールすると、セットアップ プログラムは、一連の既定値をエンジンおよび ISAM 形式サブキーの Microsoft Windows レジストリに書き込みます。 これらの設定は、レジストリ エディターを使って追加、削除、または変更を行ってください。 Microsoft Access データベース エンジン ドライバーの初期設定と ISAM 形式の設定に関する説明を、次に示します。
Microsoft Jet Engine の初期化設定
Access Connectivity Engine\Engines キーには、Microsoft Access データベースへのアクセスに使われる msjet40.dll データベース エンジンの初期設定があります。 通常、このキーのエントリの初期設定は次のようになっています。
SystemDB = <path>\System.mdb
CompactBYPkey = 1
PrevFormatCompactWithUNICODECompression=1
Microsoft Access データベース エンジンは、次のエントリを使用します。
エントリ | 説明 |
---|---|
SystemDB | ワークグループ情報ファイルのフル パスとファイル名を指定します。 既定値は、適切なパスの後に System.mdb というファイル名が付けられたパスです。 値の型は REG_SZ 型です。 |
CompactByPKey | テーブルを最適化する場合に、主キーがテーブルに存在するときは、そのテーブルが主キーの並び順でコピーされるように指定します。 主キーが存在しないときは、そのテーブルはベース テーブルの並び順でコピーされます。 値 0 は、テーブルを基本テーブルの順序で圧縮する必要があることを示します。0 以外の値は、主キーが存在する場合は、テーブルを主キーの順序で圧縮する必要があることを示します。 既定値は 0 以外です。 値の型は REG_DWORD 型です。 |
PrevFormatCompactWithUNICODECompression | Microsoft Access データベース エンジンは、テキスト データの格納に Unicode 文字セットを使用します。 Unicode のデータを圧縮すると、その後必要となるページの読み書き操作が減少するため、データベースのパフォーマンスを大幅に向上させることができます。 このキーでは、Microsoft Jet 3.x データベース エンジンまたはそれ以前のバージョンで作成したデータベースを、圧縮した Unicode で作成するか、または圧縮しない Unicode で作成するかを指定します。 メモ この設定は、Microsoft Access データベース エンジン データベースの圧縮には適用されません。 Microsoft Access データベース エンジン データベースは、既定で作成された圧縮設定を保持します。 |
Access Connectivity Engine\Engines\ACE キーには、Microsoft Access データベースへのアクセスに使われる Ace.dll データベース エンジンの初期設定があります。 通常、このキーのエントリの初期設定は次のようになっています。
FlushTransactionTimeout=500
LockDelay=100
LockRetry=20
MaxBufferSize= 0
MaxLocksPerFile= 9500
PageTimeout=5000
Threads=3
UserCommitSync=Yes
ImplicitCommitSync=No
ExclusiveAsyncDelay=2000
SharedAsyncDelay=0
RecycleLVs=0
PagesLockedToTableLock=0
The Microsoft Access database engine uses the following entries.
エントリ | 説明 |
---|---|
PageTimeout | 読み取りロックされていないデータが内部キャッシュに保存されてから無効になるまでの時間をミリ秒単位で設定します。 既定値は 5,000 (5 秒) です。 値の型は REG_DWORD 型です。 |
FlushTransactionTimeout | このエントリは、ExclusiveAsyncDelay および SharedAsyncDelay の両方のレジストリ エントリを無効にします。 これらのエントリを有効にするには、値 0 をこのエントリに入力します。 FlushTransactionTimeout は、Microsoft Access データベース エンジンがデータベース ファイルへ非同期で書き込む方法を変更します。 |
LockDelay | この設定は LockRetry 設定と連動し、各 LockRetry ごとに 100 ミリ秒待機してから、別のロック要求を発行します。 この LockDelay 設定は、ネットワーキング オペレーティング システムで発生するバースト現象を防ぐために追加されたものです。 |
MaxLocksPerFile | この設定は、Microsoft Access データベース エンジンのトランザクション回数が指定値を超えないようにするためのものです。 トランザクションのロックがこの値を超える場合、そのトランザクションは 2 つ以上に分割され、一部はコミットされます。 この設定は、指定した Netware ロック リミットが超過した場合に Netware 3.1 サーバーがクラッシュしないように、また Netware と Microsoft Windows NT の両方の性能を向上させるために、追加されたものです。 |
LockRetry | ロック競合メッセージを返す前に、ロックされたページへのアクセスを繰り返す回数です。 既定値は 20 です。 値の型は REG_DWORD 型です。 |
RecycleLV | この設定を有効にすると、Microsoft Access データベース エンジンは長整数値 (LV) のページ (メモ型 (Memo)、ロング バイナリ型 (Long Binary) - OLE オブジェクト型 (OLE Object)、およびバイナリ型 (Binary)) を再利用します。 値の型は REG_DWORD 型です。 |
Maxbuffersize | データベース エンジンの内部キャッシュのサイズを KB 単位で設定します。 MaxBufferSize には、512 以上の整数値を設定します。 既定値は、次の数式に基づいています。 ((TotalRAM in MB - 12 MB) / 4) + 512 KB たとえば、32 MB の RAM を搭載したシステムでは、既定値のバッファー サイズは ((32 MB - 12 MB) / 4) + 512 KB = 5,632 KB になります。 値を既定値に設定するには、レジストリ キーを に設定します。 MaxBufferSize= 値の型は REG_DWORD 型です。 |
スレッド | Microsoft Access データベース エンジンが使用できるバックグラウンド スレッドの数です。 既定値は 3 です。 値の型は REG_DWORD 型です。 |
UserCommitSync | コミットが完了するまでシステムが待機するかどうかを指定します。 [はい] の値は、システムに待機するように指示します。値 No は、コミットを非同期的に実行するようにシステムに指示します。 既定値は [ はい] です。 値の型は REG_SZ 型です。 |
ImplicitCommitSync | コミットが完了するまでシステムが待機するかどうかを指定します。 値 No は、コミットが完了するのを待たずに続行するようにシステムに指示します。[はい] の値は、コミットが完了するのを待機するようにシステムに指示します。 既定値は [いいえ] です。 値の型は REG_SZ 型です。 |
ExclusiveAsyncDelay | 排他データベースの非同期フラッシュの遅延時間をミリ秒単位で指定します。 既定値は 2,000 (2 秒) です。 値の型は REG_DWORD 型です。 |
SharedAsyncDelay | 共有データベースの非同期フラッシュの遅延時間をミリ秒単位で指定します。 既定値は 0 です。 値の型は REG_DWORD 型です。 |
PagesLockedToTableLock | 一括操作を行うときは、アクセスしようとするテーブルの個別のページをロックする代わりに、テーブル全体をロックすると、より効率的です。 この設定は、Access データベース エンジンが排他テーブル ロックにエスカレートする前に、Microsoft Access データベース エンジンが特定のトランザクションでロックできるページ数を指定します。既定値の 0 は、Access データベース エンジンがページ ロックからテーブル ロックに自動的に変更されることを示します。 |
注:
この設定は慎重に行ってください。 マルチユーザー アクセスにデータベースが必要な場合、テーブル全体をロックすると、他のユーザーのロック競合が発生する可能性があります。 特に、この設定で小さい数を指定すると、競合の発生率が高くなります。 25 や 50 といった大きな数を指定しても、他のユーザーの操作に影響する場合があります。
注:
[!メモ] Windows レジストリの設定を変更した場合は、新しい設定内容を有効にするために、データベース エンジンをいったん終了してから再起動する必要があります。
関連項目
- 開発者フォーラムにアクセスする
- support.office.com のヘルプにアクセスする
- answers.microsoft.com のヘルプにアクセスする
- UtterAccess のフォーラムにアクセスする
- 開発者と VBA のプログラミング ヘルプ センター (FMS) にアクセスする
- StackOverflow のアクセス ポスト
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。