- PR -

MySQL4.1 と VBA(ODBC)でつまずいてます

投稿者投稿内容
mtk
会議室デビュー日: 2003/08/12
投稿数: 8
投稿日時: 2005-01-31 15:28
環境
OS: WindowsXP SP2(サーバー兼クライアントのスタンドアロン)
MySQLサーバー: 4.1.9-nt
データベース名: test
ルートのパスワード: xxxxxx
ODBC: MySQL ODBC 3.51 Driver(3.51.10-2)
ODBCの設定(ユーザーDSN)は下記の通り
 Data Source Name: MySQL_ODBC
 Server: localhost
 User: root
 Password: xxxxxx
 Database: test
開発ツール: Excel2000 SP-3のVBA6.0
参照設定: Microsoft ActiveX Data Objects 2.8 Library

上記の開発環境で次のようなコーディングを行いました。


Sub test()
   Dim conect   As ADODB.Connection

   Set conect = New ADODB.Connection
   conect.Open "DSN=MySQL_ODBC;UID=root;PWD=xxxxxx"   '---(1)
   Set conect = Nothing
End Sub


すると、必ず(1)のところで
 実行時エラー '-2147418113(8000ffff)':
 致命的なエラーです。
といったエラーが発生してしまいます。
ユーザーDSNの変わりにシステムDSNに変更したり、
ユーザーを作成してroot以外で接続するなど、いろいろ試しましたが
判ったことは、『認証に成功すると』上記の致命的なエラーが発生するようです。

どなたか、対応策をご存知の方がいらっしゃいましたらご教示願います。
mtk
会議室デビュー日: 2003/08/12
投稿数: 8
投稿日時: 2005-01-31 22:15
一部の環境を下記の通りに変えてもまったく同じエラーが発生することを確認しました。
Excel2003 SP1 + MySQL4.1.9-nt
Excel2003 SP1 + MySQL4.0.23-nt

認証に失敗した場合は、ODBCからのエラーが発生するのは普通のことだと思いますが、
認証に成功したときはVBAからエラーが発生することが気になります。
ちゅん
会議室デビュー日: 2004/04/04
投稿数: 8
投稿日時: 2005-02-03 23:14
はじめまして。
私も同じ現象が発生しました。
原因は、詳しくわかってないのですが、1つの情報として書きます。
(手元に環境がないので詳しいバージョンは、書けません。)
「環境」
MySQL4.1
ODBC3.51
VB
Accessからは、リンク接続可能。
VBで接続しようとすると同じように「致命的なエラー」が発生する。
OSから再インストールをしてみたが同じエラーが発生する。
ODBCドライバを別のものに変えて試してみて下さい。
私の環境では、それで接続できるようになりました。
(ODBC3.51の末端の番号違いのもので大丈夫でした)
Accessから接続できることから、断定はできませんがODBCドライバのバグかも知れません。
Hirotate
会議室デビュー日: 2004/04/05
投稿数: 15
投稿日時: 2005-02-04 16:47
こんにちは。
私も、
MySQL 4.0 から 4.1 にバージョンを上げたところODBCで接続できなくなりました。

ODBC 3.51.10 の場合、
コンパネのODBCデータソースアドミニストレータからDSNを作成し、
接続テストもうまくいくのですが、OLEプロバイダ(
Microsoft OLE Provider for ODBC drivers)経由で接続しようとすると、
致命的エラーが発生します。

ODBC 3.51.06 で試してみると、
Client does not support authentication protocol requested by server
というエラーにかわり、ODBCのバージョンが古すぎるようで・・・

よろしければ、末端の番号を教えてもらえますか?m(_ _)m
>ちゅんさん
amata
会議室デビュー日: 2005/02/04
投稿数: 7
投稿日時: 2005-02-04 17:43
ODBC3.51.11-1-winが出ているのですが、なぜ皆さん古いのを使用されるのでしょうか。
Hirotate
会議室デビュー日: 2004/04/05
投稿数: 15
投稿日時: 2005-02-04 17:54
引用:

ODBC3.51.11-1-winが出ているのですが、なぜ皆さん古いのを使用されるのでしょうか。



ほ、本当ですか?(汗)
http://dev.mysql.com/downloads/connector/odbc/3.51.html
ここから最新を持ってきているつもりなのですが、
ODBC3.51.11-1-win はどこで手に入りますか?
amata
会議室デビュー日: 2005/02/04
投稿数: 7
投稿日時: 2005-02-04 17:58
http://www.peterharvey.org/Downloads/MySQL/MyODBC/MyODBC-3.51.11-1-win.exe
ググればすぐ出てきますよ。
Hirotate
会議室デビュー日: 2004/04/05
投稿数: 15
投稿日時: 2005-02-04 18:36
引用:

http://www.peterharvey.org/Downloads/MySQL/MyODBC/MyODBC-3.51.11-1-win.exe
ググればすぐ出てきますよ。



ODBC3.5.11 で試したところ、OLEプロバイダ for ODBC Drivers 経由でも
接続できるようになりました。

ありがとうございました!

スキルアップ/キャリアアップ(JOB@IT)