現在オフラインです。再接続するためにインターネットの接続を待っています

[HOWTO] Visual Basic .NET を使って Microsoft Access データベースを圧縮する方法

この記事は、以前は次の ID で公開されていました: JP306287
概要
Microsoft Access データベースを圧縮または修復する手段は、ActiveX データ オブジェクト (ADO) でも ADO.NET でも提供されていません。しかし、Microsoft Data Access Components (MDAC) 2.1 に導入された Microsoft Jet OLE DB Provider and Replication Objects (JRO) を使用すれば、Access データベースの圧縮と修復が可能となります。ADO.NET で COM ベースのオブジェクト ライブラリを使用するには、Interop レイヤを利用します。

この資料では、Visual Basic .NET を使用して Access データベースを圧縮する方法について説明します。


先頭に戻る

必要条件

  • Microsoft Visual Basic .NET
  • Microsoft Jet and Replication Objects 2.1、2.5、または 2.6 Library
先頭に戻る

サンプル作成手順

  1. 新しい Visual Basic .NET コンソール アプリケーションを開きます。
  2. [ソリューション エクスプローラ] ウィンドウで、[参照設定] ノードを右クリックし、[参照の追加] を選択します。
  3. [参照の追加] ダイアログ ボックスで [COM] タブをクリックし、[Microsoft Jet and Replication Objects 2.x Library] を選択します。次に [選択] をクリックして [選択されたコンポーネント] にライブラリを追加し、[OK] をクリックします。

    : 上記の x には、Microsoft Jet and Replication Objects Library コンポーネントの実際のバージョンが入ります。
  4. 選択したライブラリ用のラッパーが存在しないと、警告が表示されます。その場合は [はい] をクリックしてラッパーを生成します。これでプロジェクトの [参照設定] に、Microsoft ActiveX Data Objects Library (ADODB) と JRO への参照が追加されます。
  5. ソリューション エクスプローラ ウィンドウで [Module1.vb] を右クリックし、[コードの表示] をクリックします。
  6. コード ウィンドウからすべてのコードを削除します。
  7. 次のコードをコピーしてコード ウィンドウに貼り付けます。
    Module Module1    Sub Main()        Dim jro As JRO.JetEngine        jro = New JRO.JetEngine()        jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5")        MsgBox("Finished Compacting Database!")    End SubEnd Module					
  8. Source.mdb および Destination.mdb のパスを、適切なパスに変更します。次に F5 キーを押してプロジェクトをビルドし、実行します。

    圧縮済みのデータベースは Access 2000 (Jet 4.0) 形式になります。その他の Jet 形式については「関連情報」を参照してください。
先頭に戻る

注意点

データベースを圧縮するには、Jet Database Engine に圧縮するデータベースへの排他アクセス権を与える必要があります。また、現在使用中のデータベース ファイルを圧縮しようとすると、例外が発生します。この例外は Try...Catch 構文を使って取得できます。

先頭に戻る
関連情報
.NET Framework および COM Interop レイヤの詳細については、次の資料を参照してください。ADO および JRO を使用して Access データベースを圧縮する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
230501 ADO を使用して Microsoft Access データベースを圧縮する方法
先頭に戻る
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 306287 (最終更新日 2004-01-21) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
プロパティ

文書番号:306287 - 最終更新日: 09/22/2005 10:15:05 - リビジョン: 2.0

  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbhowtomaster KB306287
フィードバック