自宅のWindowsマシンを64bitに変えたのですが、今まで使ていた「cse」でMysqlのODBC経由で接続すると、
「指定されたDSNには、ドライバーとアプリケーションのアーキテクチャの不一致が含まれています」
というエラーが出て接続ができなくなってしまいました。
Windowsの管理ツールからODBCドライバの登録も行い、接続のテストも成功しているので、ドライバが対応できていないわけではなく、cseから利用する際に不具合が起きているようです。。
いろいろ調べたのですが、ようやく解決したので、顛末をメモしておきたいと思います。
まず、接続できなかった原因ですが、
・MysqlのODBCドライバには32bitのアプリから利用する版と64bitのアプリから利用する版がある
ということのようです。
cseのように、32bitモードで動くアプリの場合は、利用するODBCも32bit版を利用する必要があるせいなのではないかと思います。
そのため、初めに使用していた「mysql-connector-odbc-5.1.11-winx64.msi」ではなく、新たに「mysql-connector-odbc-5.1.11-win32.msi」をダウンロードしてきて、インストールしました。
目次
ODBCの追加設定
通常の管理ツールから開く「データソース(ODBC)」では、64bit版のODBCしか追加できません。
そこで、
C:WindowsSysWOW64odbcad32.exe
をダブルクリックして開くデータソースの追加画面から作業を行います。
すると、下のように、MySQLのODBCドライバが見えるようになります。
これが、32bit版のODBCドライバになります。
あとは、通常通り、ODBCドライバの設定を追加すれば、無事、cseから接続ができるようになりました。