2014年8月19日火曜日

64ビット版Windows環境に、32ビット版/64ビット版双方のMicrosoft Access ODBCドライバを共存させる方法

こんにちは。今回は、近藤が担当します。

アプリケーションからMicrosoft Access(以下、Access)のファイル(mdb/accdb)にODBCドライバで接続し、そこに格納されているデータを使用することはよくあります。
Accessのファイルに接続するアプリケーションが32ビットと64ビットの双方に存在する場合は、どうしたらよいでしょうか?





Microsoftが提供している『Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント』ですが、32ビット版と64ビット版の双方を同一環境にインストールしようとすると、




「32ビット版と64ビット版はどちらか一方しかインストールできません」という内容のメッセージが表示され、インストールすることができません。
ならば、と、32ビット版と64ビット版でバージョンを変えて、
64ビット版を『Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント』、32ビット版を『2007 Office system ドライバ: データ接続コンポーネント』としたらどうなるか、というと、

同じなのです。

これには困るかたも多いのではないでしょうか?

ということで、【32ビット/64ビット版双方のMicrosoft Access ODBCドライバを共存させる方法】を記載します。


注意:
  • 公式の手順ではありませんので、自己責任でお願いします
  • 非公式ですので、サーバ環境や本番環境への適用はお勧めしません
  • 下記の手順を行っても、環境によっては動作しない場合があります


1. Microsoft Download Centerにある、Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント の32ビット版と64ビット版を用意します。
 → http://www.microsoft.com/ja-jp/download/details.aspx?id=13255
  にある
   AccessDatabaseEngine.exe (32ビット)
   AccessDatabaseEngine_X64.exe (64ビット)




2. 1で用意したインストーラのいずれかをインストールします。




3. 残りのインストーラを、「/passive」オプションを付けてインストールします。
 (インストーラのチェックを回避するため)
  <例> AccessDatabaseEngine_X64.exe /passive

4. インストール後に32ビット/64ビットのodbcad32.exeをそれぞれ起動すると、[ドライバ]タブに「Microsoft Access Driver」などが追加されていることが確認できます。
 



これで、32ビットと64ビットの双方を利用することが可能になりました。


補足:
  • Windows8.1/Windows Server 2012 R2では、32ビット/64ビット共存で動作しない(先にインストールした側のみ動作する)ようです。このとき、32ビット/64ビットのバージョンを変えて(2007と2010)インストールすることで、双方が動作する状態にできました。


さて、この方法なのですが、クライアント環境にMicrosoft Officeが導入されている場合は、この手順で導入することができません。
ということで、次の担当回では、【32ビット版Microsoft Officeが導入されている64ビット版Windows環境に、64ビット版のMicrosoft Access ODBCドライバを共存させる方法】について記載します。



ではまた。

(文中の各リンクは、2014/08/19時点のものです)

0 件のコメント:

コメントを投稿