[PRB] ASP エラー 80004005 "データ ソース名および指定された既定のドライバーが見つかりません"

文書翻訳 文書翻訳
文書番号: 306345 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

ActiveX データ オブジェクト (ADO) または ODBC を使用して Active Server Pages (ASP) ページでデータベース接続を開くと、以下のエラー メッセージが表示されることがあります。
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。

原因

このエラーは、ADO および ODBC を使用して ASP ページでデータベース接続を開く際に、DSN ベースの接続文字列 (システム DSN を使用する接続文字列) または DSN レス接続の接続文字列を使用すると発生することがあります。このエラーの一般的な原因は次のとおりです。

ODBC DSN の使用

  • ASP ページの要求処理に使用される Microsoft Windows NT 4.0 または Windows 2000 ユーザー アカウントが、指定された DSN の構成情報を格納しているレジストリ キーを読み取るために必要なアクセス許可を持っていません。
  • ADO 接続文字列で指定されたシステム ODBC DSN が IIS サーバー上に存在しません。
  • ADO 接続文字列の指定には、ASP Application 変数か Session 変数を使用します。これらの変数は、ASP アプリケーションの Global.asa ファイル (またはデータベース接続コードを含むページより先にアクセスされる ASP ページ) 内で初期化されます。この ADO 接続文字列の変数が、データベース接続を開くコードの実行時に初期化されません。これを確認するには、データベース接続を開くコード行の前に Response.Write ステートメントを追加して、変数に格納された接続文字列を表示します。

DSN レス接続の接続文字列の使用

  • ASP ページの要求処理に使用される Microsoft Windows NT 4.0 または Windows 2000 ユーザー アカウントが、指定された ODBC ドライバーの構成情報を格納しているレジストリ キーを読み取るために必要なアクセス許可を持っていません。DSN レス接続の接続文字列の Driver パラメーターには、データベース接続の確立に使用される ODBC ドライバーを指定します。
  • 接続文字列で指定された ODBC ドライバー名のスペルに誤りがあるか、Internet Information Server (IIS) サーバーにインストールされていないドライバーを指定しています。
  • ADO 接続文字列の指定には、ASP Application 変数か Session 変数を使用します。これらの変数は、ASP アプリケーションの Global.asa ファイル (またはデータベース接続コードを含むページより先にアクセスされる ASP ページ) 内で初期化されます。この ADO 接続文字列の変数が、データベース接続を開くコードの実行時に初期化されません。これを確認するには、データベース接続を開くコード行の前に Response.Write ステートメントを追加して、変数に格納された接続文字列を表示します。

解決方法

重要 このセクション、方法、またはタスクには、レジストリを変更する手順が記載されています。しかし、レジストリを誤って変更すると、深刻な問題が発生する可能性があります。したがって、これらの手順は慎重に実行する必要があります。万一に備えて、変更前のレジストリをバックアップしてください。これにより、問題が発生した場合にレジストリを復元することが可能になります。レジストリのバックアップ方法と復元方法の詳細については、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法

ODBC DSN の使用

DSN レジストリ キーを読み取るためのアクセス許可が不十分

以下の手順で、Windows NT 4.0 または Windows 2000 ユーザー アカウントに、指定された ODBC システム DSN のレジストリ キーへの読み取りアクセス許可を与えます。
  1. ASP ページの要求処理に使用するアカウントを決定します。
  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「regedt32.exe」と入力し、[OK] をクリックしてレジストリ エディターを起動します。
  3. [HKEY_LOCAL_MACHINE] ウィンドウで、HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI キーに移動します。ODBC.INI キーには、サーバーに登録されている各 ODBC SYSTEM DSN のサブキーがあります。
  4. ADO 接続文字列で指定された DSN の DSN レジストリ キーをクリックします。
  5. [セキュリティ] メニューの [アクセス許可] をクリックします。
  6. このキーにアクセスできるユーザーの一覧に、手順 1. で決定したユーザー アカウントを追加し、このユーザーの読み取りアクセス許可の [許可] チェック ボックスをオンにします。
  7. [適用] をクリックし、レジストリ エディターを閉じます。

指定された DSN が IIS サーバー上に存在しない

指定されたシステム ODBC DSN を IIS サーバー上に作成します。

ADO 接続文字列を初期化するための Global.asa コードが実行されない

  1. IIS アプリケーション フォルダーが、スクリプト実行のアクセス許可を持つ IIS 仮想ディレクトリとして設定されていることを確認します。
  2. IIS アプリケーションのルート ディレクトリ内に Global.asa ファイルがあることを確認します。
  3. アプリケーション フォルダーが IIS 仮想ディレクトリとして既に設定されている場合は、IIS アプリケーションを削除して作成し直します。
  4. 「関連情報」に記載されている資料を参照して、発生している問題に該当する資料がないかどうかを調べます。
  5. 前述の手順を実行しても Global.asa のコードが実行されない場合は、Microsoft Product Support Services に問い合わせてください。

DSN レス接続の接続文字列の使用

指定された ODBC Driver のレジストリ キーを読み取るためのアクセス許可が不十分

以下の手順で、Windows NT 4.0 または Windows 2000 ユーザー アカウントに、指定された ODBC Driver のレジストリ キーへの読み取りアクセス許可を与えます。
  1. ASP ページの要求処理に使用するアカウントを決定します。
  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「regedt32.exe」と入力し、[OK] をクリックしてレジストリ エディターを起動します。
  3. [HKEY_LOCAL_MACHINE] ウィンドウで、HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI キーに移動します。ODBCINST.INI キーには、サーバーにインストールされている各 ODBC Driver のサブキーがあります。
  4. ADO 接続文字列で指定された Driver の Driver レジストリ キーをクリックします。
  5. [セキュリティ] メニューの [アクセス許可] をクリックします。
  6. このキーにアクセスできるユーザーの一覧に、手順 1. で決定したユーザー アカウントを追加し、このユーザーの読み取りアクセス許可の [許可] チェック ボックスをオンにします。
  7. [適用] をクリックし、レジストリ エディターを閉じます。

ドライバー名のスペルに誤りがあるか、IIS サーバーにインストールされていないドライバーを指している

ADO 接続文字列で ODBC ドライバー名のスペルが正しいかどうかを確認します。さらに、指定されたドライバーが IIS サーバーにインストールされているかどうかを確認します。システムにインストールされている ODBC ドライバーの一覧を表示するには、ODBC データ ソース アドミニストレーター (Odbcad32.exe) の [ドライバー] タブをクリックします。

ADO 接続文字列を初期化するための Global.asa コードが実行されない

  1. IIS アプリケーション フォルダーが、スクリプト実行のアクセス許可を持つ IIS 仮想ディレクトリとして設定されていることを確認します。
  2. IIS アプリケーションのルート ディレクトリ内に Global.asa ファイルがあることを確認します。
  3. アプリケーション フォルダーが IIS 仮想ディレクトリとして既に設定されている場合は、IIS アプリケーションを削除して作成し直します。
  4. 「関連情報」に記載されている資料を参照して、発生している問題に該当する資料がないかどうかを調べます。
  5. 前述の手順を実行しても Global.asa のコードが実行されない場合は、Microsoft Product Support Services に問い合わせてください。

状況

この動作は仕様です。

詳細

ASP ページの要求処理に使用される資格情報を持つ Microsoft Windows NT 4.0 または Windows 2000 ユーザー アカウントは、Web Server がユーザー要求の認証に使用する認証メカニズムによって決定されます。たとえば匿名認証を使用する場合、構成されている IIS 匿名アカウント (既定で IUSR_<WebServerName> アカウント) の資格情報でユーザー要求が処理されます。基本認証を使用する場合は、Microsoft Internet Explorer で有効な Windows NT 4.0 または Windows 2000 ネットワーク ユーザー ID とパスワードの入力が求められ、入力したユーザーの資格情報を使用して要求が処理されます。サポートされている認証メカニズムとそのしくみについては、IIS オンライン マニュアルを参照してください。

関連情報

詳細については、以下のサポート技術情報番号をクリックしてください。
188715 VID で作成した IIS 4.0 アプリケーションで Global.ASA が起動されない
288245 [PRB] Windows 98 の Personal Web Server から Global.asa が起動されない
265275 [FP2000] FrontPage Web で Global.asa が実行されない
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。

プロパティ

文書番号: 306345 - 最終更新日: 2013年7月2日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 5.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.7
キーワード:?
kbprb KB306345
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com