• 締切済み

MySQLにADOを使用して接続できません

MySQL Server 4.1.8-nt サーバーWindows2000 Professional クライアントWindowsXP Professional LANの環境で使用しています。 クライアントにODBCドライバ3.51をインストールし、ODBCのシステムデータソースに登録。 testをクリックすると Success; connection was made! と表示されます。 また、サーバー側にインストールされたMySQLクライアントで、 データベースの作成など普通に操作できます。 ところが、VBで作成中のプログラムからADOを使用して、データベースを開こうとすると、 「致命的なエラーです」というメッセージが出て、接続できません。 Cnn.open "Driver={MySQL ODBC 3.51 DRIVER};" _ & " SERVER=サバーIPアドレス;" _ & " DATABASE=データベース名;" _ & " USER=root;" _ & " PASSWORD=rootのパスワード;" サーバーの設定が間違っているのでしょうか? それとも、ADOの接続文字列の記述に問題があるのでしょうか? Driver のかわりに、Provider=MSDASQL としてもダメでした。

みんなの回答

回答No.2

こんばんは。 >>ただDriver={MySQL ODBC 3.51 Driver}の場合はDNS=データソース名だと、致命的なエラーがでます。この場合Database=データベース名だと開けます。 書き方です・・・。 >>逆にProvider=MSDASQLの場合はDatabase=データベース名だと致命的なエラーが出て、DNS=データソース名だと開けます。 そういう決まりなので・・・。 >>これが、家の環境(質問の最初に書いた環境)だと、どちらでも致命的なエラーになってしまいます。 これについては、確かにおかしいですね。 原因を特定するには、情報が少ないです・・・。 (^^ゞ

すると、全ての回答が全文表示されます。
回答No.1

こんにちは。 MySQL接続をDNS登録して、 Cnn.open "dsn=○○;uid=ユーザーのID~ (○○の部分は、DSNの登録名) としてもダメですか? (^^ゞ

guerlain
質問者

お礼

taka451213さん、どもありがとうございます。 実は先に会社の自分のPC(Windows2000 Professional)にMySQl4.1.8をインストールして作業していたんですが、会社では普通に出来ます。 もちろんDNSに登録してあります。 ただDriver={MySQL ODBC 3.51 Driver}の場合はDNS=データソース名だと、致命的なエラーがでます。 この場合Database=データベース名だと開けます。 逆にProvider=MSDASQLの場合はDatabase=データベース名だと致命的なエラーが出て、DNS=データソース名だと開けます。 これが、家の環境(質問の最初に書いた環境)だと、どちらでも致命的なエラーになってしまいます。なぜなんでしょう?

すると、全ての回答が全文表示されます。

関連するQ&A