Microsoft Access(.mdb、.accdb)のODBC、OLEDBドライバーに関するまとめ

Microsoft Access(.mdb、.accdb)のODBC、OLEDBドライバーに関するまとめ

Pocket

Microsoft Access(.mdb、.accdb)に、外部のアプリケーションから接続するにはどうしたらよいのか?
Accessのファイル形式や、ODBC、OLEDBドライバーについてまとめました。

Access 2007でファイル形式が変更になり(2003以前は.mdb、2007以降は.accdb)、ODBC、OLEDBドライバーも変更となりました。
また最近は32bit版と64bit版の違いなどもあって、Accessに接続するには結局どうしたらよいのか、分かりにくくなっています。
この記事ではAccessのデータベースに、ODBC、OLEDB経由で接続する方法について、必要な情報をまとめています。


ドライバーのダウンロードとインストール


結論

まず結論から言うと、AccessのODBC、OLEDBドライバーで何かお困りの場合は、以下からドライバーをダウンロードして、インストールしてください。
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
http://www.microsoft.com/ja-jp/download/details.aspx?id=13255
このドライバーを使用すれば、Access 2003以前のファイル(.mdb)、Access 2007以降のファイル(.accdb)、両方のファイルにODBC、OLEDB経由で接続できます。

[ダウンロード]をクリックします。
microsoft-access-odbc-oledb-driver-101
お使いのOSが32bit版であれば「AccessDatabaseEngine.exe」を、お使いのOSが64bit版であれば「AccessDatabaseEngine_X64.exe」をダウンロードしてください。
下図では32bit版をダウンロードしています。
microsoft-access-odbc-oledb-driver-102microsoft-access-odbc-oledb-driver-103
インストールについては、とくに難しいところはありませんが、画面キャプチャーを載せておきます。


補足

ODBC、OLEDBドライバーは、WindowsやMicrosoft Officeをインストールしたときに、同時にインストールされている場合があります。
つまり、環境によってはドライバーを別途インストールしなくても、もともとインストール済みの場合があります。

いずれにしても、ドライバーがない場合は前述のページからダウンロードできます。

Microsoftの同サイトで検索すると、以下のドライバーもヒットしますが、「2007 Office system」とあるとおり、これは古いバージョンのものです。
Download 2007 Office system ドライバ: データ接続コンポーネント from Official Microsoft Download Center
http://www.microsoft.com/ja-jp/download/details.aspx?id=23734


インストール後の確認

ドライバーがインストールされているかどうかは、「ODBCデータソース アドミニストレーター」(ODBCの設定ツール)で確認できます。

Windowsのコントロールパネル→[管理ツール]→[データ ソース (ODBC)]を選択します。
または、Windowsの[プログラムとファイルの検索]に「odbcad32.exe」と入力してEnterキーを押します。
microsoft-access-odbc-oledb-driver-201
「ODBCデータソース アドミニストレーター」で[ドライバー]タブを選択し、以下が表示されていれば新しいドライバーがインストールされています。
名前:Microsoft Access Driver (*.mdb, *.accdb)
バージョン:14 ※細かいバージョンは違う場合があります。
ファイル:ACEODBC.DLL
microsoft-access-odbc-oledb-driver-202microsoft-access-odbc-oledb-driver-203
以下のドライバーは古いドライバーです。このドライバーでは.accdbには接続できません。
名前:Microsoft Access Driver (*.mdb)
バージョン:6 ※細かいバージョンは違う場合があります。
ファイル:ODBCJT32.DLL
microsoft-access-odbc-oledb-driver-204microsoft-access-odbc-oledb-driver-205
両方のドライバーが表示されるかもしれませんが、それはそれで問題ありません。
microsoft-access-odbc-oledb-driver-206


Microsoft Accessのファイル形式と、ODBC、OLEDBドライバーの詳細

Access 2003以前とAccess 2007以降で、ファイル形式が変更されています。また、これにともない、ODBC、OLEDBドライバーも変更されています。

Access 2003以前

ファイル形式:.mdb
ODBC、OLEDBドライバーの総称:Jet 4.0
ODBCドライバー名:Microsoft Access Driver (*.mdb)
OLEDBドライバー名:Microsoft Jet 4.0 OLE DB Provider
OLEDBプロバイダー名:Microsoft.Jet.OLEDB.4.0
対応環境:32bit版のみ提供されます。
互換性:新バージョンとの互換性はありません。つまりJet 4.0ドライバーでは、.accdbには接続できません。
※OLEDBドライバー名は画面に表示される名前、OLEDBプロバイダー名はQlikViewのCONNECT文などで使用される名前です。

Access 2007以降

ファイル形式:.accdb
ODBC、OLEDBドライバーの総称:ACE 12.0
ODBCドライバー名:Microsoft Access Driver (*.mdb, *.accdb)
OLEDBドライバー名:Microsoft Office 12.0 Access Database Engine OLE EB Provider
OLEDBプロバイダー名:Microsoft.Ace.OLEDB.12.0
対応環境:32bit版と64bit版の両方が提供されます。
互換性:旧バージョンと互換性があります。つまりACE 12.0ドライバーで、.mdbと.accdbの両方に接続できます。


QlikViewでの設定方法と注意事項

ODBCで接続する場合は、ODBCデータソース アドミニストレーター側での設定になりますので、ここではOLEDBで接続する手順について説明します。

[ロードスクリプトの編集]画面で、[データベース]から「OLE DB」を選択し、[接続]ボタンをクリックします。
microsoft-access-odbc-oledb-driver-301
「Microsoft Office 12.0 Access Database Engine OLE EB Provider」を選択して、[次へ]をクリックします。
microsoft-access-odbc-oledb-driver-302
「Microsoft Jet 4.0 OLE DB Provider」は古いバージョンのドライバーですので、注意してください。
microsoft-access-odbc-oledb-driver-305
ファイル名を手入力で指定します。
microsoft-access-odbc-oledb-driver-303[OK]ボタンをクリックすれば設定は完了です。

CONNECT文で「Provider=」の部分が下図のようになっていれば、新しいドライバー(ACE 12.0ドライバー)が使用されています。
microsoft-access-odbc-oledb-driver-304


64bit版のWindowsでの注意事項

Accessのドライバーは32bit版と64bit版、両方のドライバーが提供されるため、お使いの環境にあわせてドライバーを使い分けていただければ問題ありません。
しかし、データベースによっては、32bit版のドライバーしか提供されていないことがあります。その場合は、64bit版のWindowsでも32bit版のドライバーを使うことになります。

もともと64bit版のWindowsでは、32bit版と64bit版、両方のドライバーを使用できるのですが、ODBCデータソース アドミニストレーターが、32bit版と64bit版で分かれているという点に注意してください。
さらに、32bit版のODBCデータソース アドミニストレーターは、コントロールパネルなどには用意されていないという点にも注意してください。(ファイルを直接指定して開く必要があります。)

64bit版のODBCデータソース アドミニストレーター

64bit版のWindowsで、Windowsのコントロールパネル→[管理ツール]→[データ ソース (ODBC)]を選択すると、64bit版のODBCデータソース アドミニストレーターが開きます。
ファイル名:C:\Windows\System32\odbcad32.exe
※フォルダ名とファイル名が32bit版のような名前になっていますが、こちらが64bit版です。おそらく別の環境との互換性を保つための措置でしょう。

32bit版のODBCデータソース アドミニストレーター

64bit版のWindowsで、32bit版のODBCデータソース アドミニストレーターを開くには、以下のファイルを直接実行します。
Windowsのコントロールパネルなどには用意されていないため、ファイルを直接実行してください。
C:\Windows\SysWOW64\odbcad32.exe
※フォルダ名が64bit版のような名前になっていますが、こちらが32bit版です。SysWOW64は64bit環境で32bitアプリケーションを動かすためのものです。

詳細はマイクロソフトサポートオンラインの以下のページをご覧ください。
http://support.microsoft.com/kb/942976/ja
http://support.microsoft.com/kb/2458256/ja

64bit版のQlikViewで32bit版のドライバーを使用する場合は、[ロードスクリプトの編集]画面で[32Bit互換モード]にチェックを入れてください。
microsoft-access-odbc-oledb-driver-306