MySQL 4.07 データベースを使用する古い VB6 プログラムがあります。私のWin XP 64ビットマシンで開発されました。Win XP 64 マシンで問題なく動作し、Win7 64 ビット マシンでも問題なく動作します。しかし、ユーザーの 1 人が Win7 64 マシンで実行しようとすると、失敗します。
"Run-time error '-2147467259 (80004005)': [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified".
奇妙なのは、ODBC ドライバーがインストールされており、SysWOW64 と system32 にあることです。
次のコードは Form_Load で実行され、エラーが発生する可能性が高い場所です (32 ビット ドライバーは NT Server 2.5 用であり、64 ビット ドライバーは新しいバージョンであることに注意してください)。
If IsHost64Bit() = True Then
mstrConnString = "driver=MySQL ODBC 3.51 Driver;server=mysqleng;database=engprogs;port=3306;UID=user;PWD=########"
Else
mstrConnString = "driver=MySQL;server=mysqleng;database=engprogs;port=3306;UID=user;PWD=########"
End If
Set ADOCn = New ADODB.Connection
ADOCn.ConnectionString = mstrConnString
ADOCn.Open mstrConnString
SysWOW64 内の odbcad32.exe のプロパティを確認したところ、[ドライバー] タブにユーザー マシンの MySQL ODBC 3.51 が表示されました。
どんなアイデアでも大歓迎です。
ありがとう、ボブ