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
どなたか回答いただけましたら、大変助かります。
とりあえず確認ですが・・・
MySQL用のODBCドライバのインストールと、DSNの設定を行ってますか?
また、DSN名はあってますか?
「11.2.1. MyODBC のインストール方法」
(http://dev.mysql.com/doc/refman/4.1/ja/installing-myodbc.html)
返信ありがとうございます。
「MySQL用のODBCドライバ」はインストールして無いので。
というより、必要だと知りませんでした。
早速リンク先を参考にさせていただきます。ありがとうございます。
それとDNSの設定についてもおそらく何も手をつけていないので調べてみます。
もし、ご迷惑でなければお勧めのサイトなど紹介していただけ無いでしょうか。
またDNS名なのですが3行目の
dsn = "dsn=MySQL;
という部分ですね。
参考にしたサイトにこのように記述されていたのですが、MySQLを使う場合はこのような記述では駄目なのでしょうか?
色々と至らぬとこばかりですみません。
アドバイスいただいた通りにMySQL用のODBCドライバのインストールを行いましたが症状のほうは相変わらずいでした。
DNSの設定についてなのですが、VBを動かしているパソコン上にMySQLがあるので、サーバーはlocalhostになるかと思うのですが・・・。
その場合でも何か特別な設定が必要なのでしょうか?
いや、
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
返信いただきありがとうございます。
ああ、御免なさい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でいいよね?
本当に素人丸出しな質問ばかりですみません。
ご教授いただけると助かります。
'×教授
'○教示
そのページにも書いてあるのですが、ちょっとわかりにくいですかね。
Data Source Nameは、
> [Microsoft][ODBC Driver Manager]データソース名および指定された規定のドライバーが見つかりません。」
で怒られている、「データソース名」のことで、
dsn=DSN名;
のようにプログラム上の接続文字列で指定する名前を。
Descriptionは、ヒトが目で見て判断しやすいような情報
を入力すればよろしいかと。
>dsn = "dsn=MySQL;
と書くのであれば、
Data Source Nameは、
MySQL
です。
成功しました、MySQLに接続できるようになりました。
大吉末吉さん、もげさん、本当にありがとうございました。
ようやく次のステップに進むことが出来ます。本当にありがとうございます。
解決チェック入れ忘れてました。(^^;
編集 削除