2012-02-21 14 views
1

私は現在、ソースコードを与えられた従来のASPアプリケーションを実行しようとしています。私は64ビットWindows 7の開発マシンにセットアップしたいのですが、MySQLインスタンスへのODBCベースのデータ接続に問題があります。私が試した何MySQL ODBC問題:データソース名が見つかりません。デフォルトのドライバが指定されていません。

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Driver Manager] Data source name not found 
and no default driver specified 

/includes/<File Name>.asp, line 100 

私は、エラーを見ている

  • 接続は、DSNレスです。
  • アプリケーションは、ローカルシステム権限を持つIISアプリケーションプールで実行されています。 w3wp.exeは、プロセスモニタでNT AUTHORITY/SYSTEMで実行されているのがわかります。
  • アプリケーションは、32ビットアプリケーションを実行できるIISアプリケーションプールで実行されています。
  • http://dev.mysql.comからのみインストールされたConnector/ODBC 5.1.10 64ビット版で試したことがあります(この時点では、C:\ Windows \ SysWOW64 \ odbcad32.exeの下にはドライバがありませんでしたが、C:\ Windows \ system32 \ odbcad32にあります)。 exe)
  • http://dev.mysql.comからのみインストールされたConnector/ODBC 5.1.10 32ビット版で試したことがあります(この時点では、C:\ Windows \ system32 \ odbcad32.exeの下にはドライバはリストされていませんでしたが、C:\ Windows \ SysWOW64 \ odbcad32.exe)
  • Connector/ODBC 5.1.10 32ビット版と64ビット版をインストールしてみました。
  • 検証済みのドライバ名のスペルは間違いありません。他の小切手と一緒にここからhttp://support.microsoft.com/kb/306345

    ドライバ= {MySQLのODBC 5.1ドライバ};サーバ= localhostの;データベース= DBNAME;ユーザー=ルート;パスワード=パスワード;オプション= 3

追加情報:

私が監視していますプロセスモニタでは、と二つの結果は次のとおりです。(奇妙に思えるの.asp/web.configファイルを探して、NOT FOUND

PATH バッファオーバーフロー

両方のエントリショー:

ユーザー:NT AUTHORITY \ SYSTEM

プロセス: C:\ WINDOWS \ SYSWOW64 \ inetsrvに\ w3wp.exeの C:

は、私は困惑\ WINDOWS \ SYSWOW64 \ ODBCINT.DLLどのように私が記述した文脈の中でこれをどのように動かすかについての提案をすることができますか?

+0

あなたは接続オブジェクトを処理するために、ADODBを使用していますか?そして、MSIインストーラを試してみましたか?http://dev.mysql.com/downloads/connector/odbc/5.1.html – HeavenCore

答えて

0

問題が解決しました。この場合、他人にこれを使用して録音する。

問題は最初に現れたよりもはるかに簡単でした。問題は、アプリケーションが名前付きデータソースと名前のないデータソース(DSN/DSN-Less)を混在して使用していたことです。

ビジュアルスタジオでデバッグするアプリケーションをセットアップするまで、名前付き接続が使用されていることは私には明らかでした。(私はHTTPベースのウェブサイトではなく、ファイルシステムを使用する以外は)ここでVisual Studioでアプリケーションをデバッグする目安である:

http://www.codeproject.com/Articles/28792/Debugging-Classic-ASP-VBScript-in-Visual-Studio-20

必要なDSNを作成した後、デフォルトに関するスローされるいくつかの更なる例外がありましたデータベース列の値。これは、my.iniファイルで変更可能なMySQL設定のためです。

http://bugs.mysql.com/bug.php?id=14306

C:\プログラムファイル(x86の)\ MySQLの\ MySQLサーバ5.5 \ my.iniファイル

# Set the SQL mode to strict 
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
sql-mode="" 
0

私は、これはDSN-less接続としてWindowsからMySQLに働くことがわかりました。トリックはになりましたサーバアドレスの最後にあるポート仕様を削除してください。

"DRIVER={MySQL ODBC 5.3 UNICODE Driver}; Server=**;Database=**;User=**;Password=**; OPTION=3" 

Note: Server string is the internet address of the server, BUT NO PORT SPECIFIED - ie, NO ":3306" on the end

関連する問題

 関連する問題