VBA を使用して、サーバー上にあるローカル マシンから MySQL に接続しようとしています。最初に、以下のエラーを受け取りました。
[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません。
いくつかの調査の後、MySQL ODBC ドライバーを最初にインストールする必要があることがわかりました。以下の場所からドライバーをインストールしました。
http://dev.mysql.com/downloads/connector/odbc/
私は64ビットマシンを持っているので、64ビット用のドライバーをインストールして接続を確立しようとしました。それでも、同じデータソース名が見つからないというエラーを受け取りました。しかし、ODBC データ ソース アドミニストレーターから、システム DSN を選択すると、MySQL ドライバーがインストールされていることを確認でき、サーバーにデータベース用の新しいデータ ソースを作成できます。
ただし、VBA からデータ ソースを呼び出すと、別のエラーが発生します。
[Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションの間のアーキテクチャの不一致が含まれています。
これは、VBA からデータ ソースを呼び出す方法です。
Dim oConn As ADODB.Connection
Set oConn = New ADODB.Connection
oConn.Open "data_source_name"
また、64 ビット ODBC コネクタの場合、システム DSN で以下の 2 つのドライバを確認できます。
- MySQL ODBC 5.2 ANSI ドライバー
- MySQL ODBC 5.2 Unicode ドライバー
どちらのドライバーでも、ODBC データ アドミニストレーターからの接続は成功しています。
アーキテクチャの不一致の問題の解決策を見つけようとしましたが、64 ビット マシンで以下の場所から ODBC アプリケーションを実行して DSN を作成すると、動作する可能性があることを読みました。
C:\Windows\System32\odbcad32
ただし、このシナリオでも、同じアーキテクチャの不一致エラーを受け取りました。
マシンに MySQL Connector/ODBC 5.2.5 32 ビットをインストールしてみました。この場合、システム DSN にリストされているドライバーを確認できません。
誰かが実際に何が間違っているのかを理解するのを手伝ってもらえますか?