プロが教えるわが家の防犯対策術!

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …等を参考につくってみたのですが、

Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。



Microsoft OLE DB Provider for SQL Server エラー '80040e4d'

接続文字列の属性が正しくありません。

のエラーが出てしまいます。

PC環境はWindows2003server、mysql5.0.18です。

A 回答 (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-de …

この回答への補足

ありがとうございます!

>ユーザ名を間違えてるようで。「UID==root」じゃなくて、「UID=root」かと。

単純なミスでしたね・・・
あ、設定しなくても良かったんですか。
ASPページのほうは、エラーはなくなりました!
データ抽出はできてないですが(汗)
一歩進むと何か問題が出てきます(汗)


> Host '*********.*****.local' is not allowed
こちらのほうは上記参考URLをもとに調べてみます。

補足日時:2006/03/14 18:42
    • good
    • 0

よくわかんないので、以下のポイントを補足したら、適切な回答がもらえるかも:



1) インストールしたMySQL用ODBCドライバのバージョン。
2) システムDSN作成の際に入力した情報全て(パスワードやIPアドレスは伏字にして)。出来ればスクリーンショットがあれば尚よし。
3) システムDSNの接続テスト(Testボタンがあるはず)の結果。
4) 接続テストを行った際の、MySQL側のログ。

システムDSNの接続テストでうまくいくなら、
db.Open ( "DSN=<システムDSN名>" )
――で済むはず。逆に接続テストでうまくいかないなら、まずはそれを解決する事が必要かと。

この回答への補足

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と同じエラーになります。

補足日時:2006/03/14 17:08
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

補足のほうにも書きましたが、
一応こちらにも同じことを書いておきます。

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と同じエラーになります。

お礼日時:2006/03/14 17:35

> Provider=SQLOLEDB



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

参考URL:http://www.microsoft.com/japan/sql/editions/expr …

この回答への補足

コメントが反映されてませんでしたので再度投稿します。

MYSQLを使うという前提でやっているので、その他のサーバは利用しない方向で考えています。

Provider=SQLOLEDBをはずしても
データソース名および既定のドライバが見つかりません
というエラーが出てしまいます。

もうほとんどお手上げ状態です・・・
1週間考えてるんですがほとんど進まず・・・

補足日時:2006/03/14 15:30
    • good
    • 0

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



参考URL:http://www.tryhp.net/ODBCMySQL.htm

この回答への補足

システムDSNを登録してみましたが、
同じエラーが出ている状態です。

ASPは以下のようにしています。
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Provider=SQLOLEDB; Server=***.**.*.***; Database=db1; UID==root; PWD=admin;"

(IPアドレスは伏字にしています)

補足日時:2006/03/14 11:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!