ITつれづれなるままに

MySQL ODBCドライバ不具合 -ログイン-

2014/12/29

スポンサーリンク

結論から先に言うと、最新のODBCドライバでVBからMySQLに接続できず、ドライバのバージョンを3.51に戻したら接続できました。

最新ドライバが原因だったと判明するまで数時間。。。

いや疲れた(-_-;)

ログイン部分の不具合なので、もしかして他にも同様の方がいるかと。

環境

Microsoft VBからクライアントローカルのMySQL DBにアクセス

・クライアントOS:Windows7 Pro(64bit)

・MySQL:5.6.16(XAMPPを利用)

・Microsoft VB:V7.0

・MySQL ODBCドライバ(ANSI)

5.3.4(最新)://dev.mysql.com/downloads/connector/odbc/

3.51.30  ://dev.mysql.com/downloads/connector/odbc/3.51.html

スポンサーリンク

不具合内容および解決策

VBからMySQLにログインする時に、最新ODBCドライバ(5.3.4)だとログインパラメータがMySQLに渡されない(ログインエラー)。

ODBCドライバを3.51.30に変更して解決。

VBソースおよびODBC設定

VBソース

' DB名、ユーザーID、パスワードの取得
Database_Name = TextBox1
User_ID = TextBox2
Password = TextBox3

'MySQL 接続
Set rst = CreateObject("ADODB.Recordset")
Set con = CreateObject("ADODB.Connection")
con.ConnectionString = "Server=localhost" & _
"; Driver={MySQL ODBC 3.51 Driver}" & _
"; Database=" & Database_Name & _
"; User=" & User_ID & "; Password=" & Password & _
"; Stmt=SET NAMES cp932"
On Error GoTo ERR1
con.Open
con.BeginTrans

ODBC設定

ODBC

ODBC2

説明

ODBC5.3.4だとどうやってもID,パスワードがMySQLに引き渡されず、ログインエラーとなりました。ソースコードおかしいのかな。。。と悩みましたが、ODBCドライバを3.51に戻すだけで解決(´Д`;)

ODBCドライバはANSIで、VB内ではcp932文字コードをセットしています。

 

皆様のご参考になれば幸いですヾ(*´∀`*)ノ

 


-ITつれづれなるままに
-, , , ,

このボタンをクリックすると記事タイトルとURLがコピーされます。
メールやメモ帳などに貼り付けてご利用ください。

TOP