現在オフラインです。再接続するためにインターネットの接続を待っています

お使いのブラウザーはサポートされていません

このサイトを利用するには、ブラウザーを更新する必要があります。

Internet Explorer を最新バージョンに更新する

IIS 7.0 では、Access データベースに接続する ASP ページを要求すると、エラー メッセージ:「Microsoft JET データベース エンジンのエラー '80004005'」

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:926939
重要: この資料にはセキュリティ設定を低くする方法、またはコンピューターのセキュリティ機能を無効にする方法を示す情報が含まれています。特定の問題を回避するためにこれらの変更をすることができます。これらの変更を行う前に、特定の環境でこの回避策の実装に関連付けられているリスクを評価することをお勧めします。この回避策を実装する場合は、コンピューターを保護するために、適切なの追加の手順がかかります。
現象
以下の事例で説明します。Microsoft インターネット インフォメーション サービス (IIS) 7.0 を実行している Web サーバーに、データベースに接続する active server page (ASP) をホストします。ASP ページのデータ プロバイダーは Microsoft.Jet.OLEDB.4.0 データ プロバイダーです。ASP ページのデータ ソースは Microsoft Access データベース (.mdb) ファイルです。このシナリオで、ASP ページを要求すると、次のエラー メッセージが表示される可能性があります。
Microsoft JET データベース エンジンのエラー '80004005'
特定できないエラー
注: <b>次の両方を使用すると、同様のエラー メッセージが発生します。
  • Microsoft Access データベースでは、Access 2007 のファイル形式 (.accdb)
  • Microsoft.ACE.OLEDB.12.0 データ プロバイダー
原因
この問題は、IIS 7.0 は、アプリケーション プールの id に現在のユーザー プロファイルの読み込みに構成されている場合に発生します。現在のユーザーの一時ディレクトリへの書き込み権限があるないため、従来の ASP ベース アプリケーションと ADO ベースのアプリケーションとの互換性の問題可能性があります。
解決方法
この問題を解決するのプロセス id 一時ディレクトリへの適切なアクセス制御エントリを追加する必要があります。これを行うには、オペレーティング システムの手順を実行します。

Windows Server 2008 と Windows Vista SP1 またはそれ以降のバージョンで

Windows Server 2008 または Windows Vista SP1 またはそれ以降のバージョンで実行されている IIS 7.0 の Web サーバーではこの問題を解決するのに次の手順を実行します。
  1. [スタート] ボタン、[すべてのプログラム] をクリックします。 [アクセサリ] をクリックし、コマンド プロンプトを右クリックし、[管理者として実行] をクリックします。
  2. 管理者のパスワードまたは確認のメッセージが表示されたら、パスワードを入力または [続行] をクリックします。
  3. 次のコマンドを入力し、ENTER キーを押します。
    icacls %SystemDrive%\Windows\Temp/grant Users:(CI)(S,WD,AD,X)

    注: <b>このコマンドにより、すべてのユーザーに、一時ディレクトリ内のファイルとディレクトリを作成します。
  4. 次のコマンドを入力し、ENTER キーを押します。
    icacls %SystemDrive%\Windows\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)

    注: <b>一時ディレクトリにファイルまたはディレクトリを作成するユーザーは、所有者です。ユーザーの完全な制御、ファイルまたはディレクトリ、CREATOR OWNER のアクセス制御エントリが付与されます。他のユーザーは、所有者ではないためこれらのファイルやディレクトリにアクセスできません。
Windows Vista の RTM

Windows Vista RTM で実行されている IIS 7.0 の Web サーバーではこの問題を解決するのに次の手順を実行します。
注: <b>既定では Windows Vista の RTM に、プロセス id を一時ディレクトリは、% windir%\ServiceProfiles\NetworkService\AppData\Local\Temp
  1. [スタート] ボタン、[すべてのプログラム] をクリックします。 [アクセサリ] をクリックし、コマンド プロンプトを右クリックし、[管理者として実行] をクリックします。
  2. 管理者のパスワードまたは確認のメッセージが表示されたら、パスワードを入力または [続行] をクリックします。
  3. 次のコマンドを入力し、ENTER キーを押します。
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp/grant Users:(CI)(S,WD,AD,X)

    注: <b>このコマンドにより、すべてのユーザーに、一時ディレクトリ内のファイルとディレクトリを作成します。
  4. 次のコマンドを入力し、ENTER キーを押します。
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp/grant"作成者 OWNER":(OI)(CI)(IO)(F)

    注: <b>一時ディレクトリにファイルまたはディレクトリを作成するユーザーは、所有者です。CREATOR OWNER のアクセス制御エントリは、ファイルまたはディレクトリ上のユーザーを完全に制御を付与します。他のユーザーは、所有者ではないためこれらのファイルやディレクトリにアクセスできません。
回避策
この問題を解決するのには、「解決方法」に記載されている方法を使用します。ただし、プロセス id 一時ディレクトリへのアクセス制御エントリを追加しないようにする場合は、することができます問題を回避アプリケーション プールのloadUserProfileプロパティを無効にすること。このプロパティを無効にすると、IIS 7.0 アプリケーション プールの現在のユーザー プロファイルは読み込まれません。

重要: このプロパティを無効にした場合、セキュリティ上のリスクを作成可能性があります。理解し、この回避策を実装する前に、リスクを評価することを確認します。

アプリケーション プールのloadUserProfileプロパティを無効にするには、ApplicationHost.config ファイルに変更します。次の例はこれを行う方法を示します。
<applicationPoolDefaults>    <processModel identityType="NetworkService" loadUserProfile="false" /></applicationPoolDefaults> 
関連情報
一時について、ASP ページでデータベース クエリを実行するときにディレクトリのアクセス許可は、マイクロソフト サポート技術資料を参照する次の文書番号をクリックします。
315456 Frontpage 2003 で ASP ページからデータベースに接続するときに、データベース結果のエラー メッセージが表示されます。
従来の ASP を使用して、IIS 7.0 および IIS 7.5 での Access データベースを使用
http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/

警告: この記事は自動翻訳されています

プロパティ

文書番号:926939 - 最終更新日: 01/03/2015 09:48:00 - リビジョン: 7.0

  • Microsoft Internet Information Services 7.0
  • kbtshoot kbprb kbmt KB926939 KbMtja
フィードバック
lementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");