• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASPからMySQLへの接続)

ASPからMySQLへの接続エラーが発生する

このQ&Aのポイント
  • ASPからMySQLへの接続でエラーが発生しています。エラーコードは'80004005'および'80040e4d'です。
  • Microsoft OLE DB Provider for ODBC Driversエラー '80004005'、およびMicrosoft OLE DB Provider for SQL Serverエラー '80040e4d'が表示されます。
  • Windows 2003 Serverで動作しているPC環境とMySQL 5.0.18を使用している場合に、ASPからMySQLへの接続でエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.4

> Access denied for user '=root' ユーザ名を間違えてるようで。「UID==root」じゃなくて、「UID=root」かと。 # って、No.1の補足でもすでに「==」だったのに、気がつかなかった。 ただ、システムDSNに設定したものだけで、ユーザ名やらサーバ名はとくに接続文字列に記述しなくて良かったような。 > Host '*********.*****.local' is not allowed こちらは、MySQL側の設定で拒否されてるのでは。 MySQL.comのマニュアルに対処法が書かれてるみたいです。

参考URL:
http://dev.mysql.com/doc/refman/4.1/ja/access-denied.html
rin10rin
質問者

補足

ありがとうございます! >ユーザ名を間違えてるようで。「UID==root」じゃなくて、「UID=root」かと。 単純なミスでしたね・・・ あ、設定しなくても良かったんですか。 ASPページのほうは、エラーはなくなりました! データ抽出はできてないですが(汗) 一歩進むと何か問題が出てきます(汗) > Host '*********.*****.local' is not allowed こちらのほうは上記参考URLをもとに調べてみます。

その他の回答 (3)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

よくわかんないので、以下のポイントを補足したら、適切な回答がもらえるかも: 1) インストールしたMySQL用ODBCドライバのバージョン。 2) システムDSN作成の際に入力した情報全て(パスワードやIPアドレスは伏字にして)。出来ればスクリーンショットがあれば尚よし。 3) システムDSNの接続テスト(Testボタンがあるはず)の結果。 4) 接続テストを行った際の、MySQL側のログ。 システムDSNの接続テストでうまくいくなら、 db.Open ( "DSN=<システムDSN名>" ) ――で済むはず。逆に接続テストでうまくいかないなら、まずはそれを解決する事が必要かと。

rin10rin
質問者

お礼

ご指摘ありがとうございます。 補足のほうにも書きましたが、 一応こちらにも同じことを書いておきます。 1) MySQL ODBC 3.51 Driver 2) Data Source Name:myodbc Server:localhost (テスト成功) User:root Password:***** (MySQLのログインパスワードと同一) Database:db1 (MySQLで作成したDB) 3)テスト結果はSuccessとでます。 4)ただ、ServerをIP指定(***.**.*.***)にするとテストでもエラーになってしまいます。 [MySQL][ODBC 3.51 Driver]Host '*********.*****.local' is not allowed to connect to this MySQL server) ASPのほうのも下のように変えてきましたが、 [MySQL][ODBC 3.51 Driver]Access denied for user '=root'@'localhost' (using password: YES) というエラーが出てしまいます。 Set db=Server.CreateObject("ADODB.Connection") db.Open "dsn=myodbc;Server=localhost; Database=db1; UID==root; PWD=*****;" db.CursorLocation = 3 localhostではなくIP指定にした場合は、 システムDNSと同じエラーになります。

rin10rin
質問者

補足

1) MySQL ODBC 3.51 Driver 2) Data Source Name:myodbc Server:localhost (テスト成功) User:root Password:***** (MySQLのログインパスワードと同一) Database:db1 (MySQLで作成したDB) 3)テスト結果はSuccessとでます。 4)ただ、ServerをIP指定(***.**.*.***)にするとテストでもエラーになってしまいます。 [MySQL][ODBC 3.51 Driver]Host '*********.*****.local' is not allowed to connect to this MySQL server) ASPのほうのも下のように変えてきましたが、 [MySQL][ODBC 3.51 Driver]Access denied for user '=root'@'localhost' (using password: YES) というエラーが出てしまいます。 Set db=Server.CreateObject("ADODB.Connection") db.Open "dsn=myodbc;Server=localhost; Database=db1; UID==root; PWD=*****;" db.CursorLocation = 3 localhostではなくIP指定にした場合は、 システムDNSと同じエラーになります。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

> Provider=SQLOLEDB SQL Server用では。 MySQLではなく、Microsoft SQL Serverを利用したほうが手っ取り早いかも。

参考URL:
http://www.microsoft.com/japan/sql/editions/express/default.mspx
rin10rin
質問者

補足

コメントが反映されてませんでしたので再度投稿します。 MYSQLを使うという前提でやっているので、その他のサーバは利用しない方向で考えています。 Provider=SQLOLEDBをはずしても データソース名および既定のドライバが見つかりません というエラーが出てしまいます。 もうほとんどお手上げ状態です・・・ 1週間考えてるんですがほとんど進まず・・・

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

システムDSNが正しく作成されてないのでは。

参考URL:
http://www.tryhp.net/ODBCMySQL.htm
rin10rin
質問者

補足

システムDSNを登録してみましたが、 同じエラーが出ている状態です。 ASPは以下のようにしています。 Set db=Server.CreateObject("ADODB.Connection") db.Open "Provider=SQLOLEDB; Server=***.**.*.***; Database=db1; UID==root; PWD=admin;" (IPアドレスは伏字にしています)

関連するQ&A