Visual Basic 6.0から MySQlに接続したいのですが。

解決


ぽしゃった  2008-01-07 16:34:08  No: 138544  IP: 192.*.*.*

Visual Basic  6.0から  MySQLに接続したいのですが
「実行時エラー'-214767259 (80004005)';
 [Microsoft][ODBC Driver Manager]データソース名および指定された規定のドライバーが見つかりません。」
と出てしまいます。

「プロジェクト」→「参照設定」で「MicroSoft ActiveX Data objects 2.8  Library」を選んで実行しています。

ソースは以下のようになっています。
Private Sub Form_Load()
    Dim dsn As String
    dsn = "dsn=MySQL;uid=設定したid;pwd=設定したパスワード"
    Set cn = CreateObject("ADODB.Connection")
    cn.Open dsn
    cn.CursorLocation = 3
End Sub

どなたか回答いただけましたら、大変助かります。

編集 削除
大吉末吉  2008-01-07 16:49:29  No: 138545  IP: 192.*.*.*

とりあえず確認ですが・・・
MySQL用のODBCドライバのインストールと、DSNの設定を行ってますか?
また、DSN名はあってますか?

「11.2.1. MyODBC のインストール方法」
http://dev.mysql.com/doc/refman/4.1/ja/installing-myodbc.html

編集 削除
ぽしゃった  2008-01-07 20:10:07  No: 138546  IP: 192.*.*.*

返信ありがとうございます。
「MySQL用のODBCドライバ」はインストールして無いので。
というより、必要だと知りませんでした。
早速リンク先を参考にさせていただきます。ありがとうございます。

それとDNSの設定についてもおそらく何も手をつけていないので調べてみます。
もし、ご迷惑でなければお勧めのサイトなど紹介していただけ無いでしょうか。

またDNS名なのですが3行目の
dsn = "dsn=MySQL;
という部分ですね。
参考にしたサイトにこのように記述されていたのですが、MySQLを使う場合はこのような記述では駄目なのでしょうか?

色々と至らぬとこばかりですみません。

編集 削除
ぽしゃた  2008-01-07 21:27:49  No: 138547  IP: 192.*.*.*

アドバイスいただいた通りにMySQL用のODBCドライバのインストールを行いましたが症状のほうは相変わらずいでした。

DNSの設定についてなのですが、VBを動かしているパソコン上にMySQLがあるので、サーバーはlocalhostになるかと思うのですが・・・。
その場合でも何か特別な設定が必要なのでしょうか?

編集 削除
もげ  2008-01-08 08:46:25  No: 138548  IP: 192.*.*.*

いや、
DNS ( Domain Name System ) ではなく、
DSN ( Data Source Names ) の話ですが...(^^;

>dsn = "dsn=MySQL;
おそらく、その、参考にしたサイトでは、
そのPCにMySQLという名前でDSNが設定されていること
が前提になっているのでしょう。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_01.htm
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-configuration.html

編集 削除
ぽしゃった  2008-01-08 14:08:11  No: 138549  IP: 192.*.*.*

返信いただきありがとうございます。
ああ、御免なさいDNSじゃ無くてDSNですね、本当にすみません。

早速リンク先の手順どおりに進めていたのですがちょっと分からないところがあったのですが、
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-configuration-dsn-windows.html
のページの
「24.1.3.2.1. Windows での Connector/ODBC DSN の追加」
という章のData Source NameとDescriptionの2箇所が何の為のものであり、何を書き込ん出よいものなのか・・・。
サーバーは自分のパソコン内で動かしたいのでLocalhostでいいよね?

本当に素人丸出しな質問ばかりですみません。
ご教授いただけると助かります。

編集 削除
もげ  2008-01-08 14:30:48  No: 138550  IP: 192.*.*.*

'×教授
'○教示

そのページにも書いてあるのですが、ちょっとわかりにくいですかね。

Data Source Nameは、
> [Microsoft][ODBC Driver Manager]データソース名および指定された規定のドライバーが見つかりません。」
で怒られている、「データソース名」のことで、
  dsn=DSN名;  
のようにプログラム上の接続文字列で指定する名前を。

Descriptionは、ヒトが目で見て判断しやすいような情報
を入力すればよろしいかと。

>dsn = "dsn=MySQL;
と書くのであれば、
Data Source Nameは、
MySQL
です。

編集 削除
ぽしゃった  2008-01-08 14:59:43  No: 138551  IP: 192.*.*.*

成功しました、MySQLに接続できるようになりました。
大吉末吉さん、もげさん、本当にありがとうございました。

ようやく次のステップに進むことが出来ます。本当にありがとうございます。

編集 削除
ぽっしゃた  2008-01-08 15:01:08  No: 138552  IP: 192.*.*.*

解決チェック入れ忘れてました。(^^;

編集 削除