株式会社クイックのWebサービス開発blog

HAPPYなエンジニア&デザイナーのブログです

64bit版Windowsに32bit版のAccess入れたらODBC設定がちょっと面倒だった話

こんにちは。sanamekoです。鍋の美味しい季節ですね。
きのこをたくさん入れるともっと美味しくなりますよね。

さて、本日は、タイトルどおり、「64bit版Windowsに32bit版のAccess入れたらODBC設定がちょっと面倒だった話」をしたいと思います。

前提条件

Accessで、ODBCを使って業務システムのDB(MySQL)に接続している
・使用しているPCは64bit版のWindows
・64bit版のAccess2013をインストール済
・64bit版のMySQLドライバをインストール済

なぜAccessを32bit版にしたいのか

理由としては、ズバリ『64bit版Accessは何かと不具合が多いため』です。不具合については割愛しますが、これが一番の理由でしょうか。
また、私以外のメンバーは32bit版のAccessを使っており(OSも32bit)、作成したAccessファイルを共有することも多いので、環境を揃えたほうが良いなと思いました。(←最初に気付くべきでしたね)

最初にやったこと

・64bit版Accessをアンインストール
・PC再起動後、32bit版をインストール

を行いました。
(正確には、Office系は全部32bitまたは64bitで揃えなきゃいけないので、
WordやExcelなども全部まるっとアンインストールしました。)

これで終わりでしょ~簡単簡単!と思っていましたが、違いました。

MySQLに接続できなくなった!

さっそくAccessでいつものようにデータ抽出をしようとクエリを実行しますが、エラーが出てしまいました。

どうやら、64bit版のWindowsには、64bit版と32bit版の両方のODBCドライバが存在しているようです。
今回、Accessを32bit版にしたことによって、ODBCドライバも32bit版のほうで設定し直す必要があります。

追加で対応したこと

MySQLのドライバも32bitに入れ替える必要があるので、まず次の作業をします。

・64bit版のMySQLドライバをアンインストールし、32bit版をインストールする

次に、32bit版のODBCドライバの設定を行います。
コントロールパネル > 管理ツール > データソース(ODBC)から確認できるのは、64bit版の設定だけなので、

・コマンドで、<%windir%\SysWOW64\odbcad32.exe>を実行し、32bit版のODBC設定画面を立ち上げる
ODBCを設定し直す

という方法を取ります。
これでようやく、AccessからMySQLに接続できるようになりました。

同じような境遇の方がいるか分かりませんが、参考になれば幸いです!