Wulin.com (www.vevb.com) WEB アプリケーションを作成する過程では、日常的に頻繁に使用するデータベース ACCESS や SQL SERVER などのデータベースを扱わなければならないことがよくあります。これらのデータベースに接続すると、システムからこのような 80004005 エラーが表示されることが多く、非常に厄介です。ネチズンがそのような問題を解決できるように、この記事ではそのような問題を詳しく紹介し、回答します。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Microsoft Jet データベース
エンジンはファイル '(不明)' を開くことができません。すでに排他的に開かれています。
別のユーザーによるものであるか、そのデータを表示する権限が必要です。
[理由]
このエラーは、IIS が匿名アカウント (通常は IUSR) を使用し、NT 内のデータベースが存在するディレクトリにアクセスする場合に発生します。
正しい権限がありません。
[解決]
1. ファイルとディレクトリの権限を確認し、Evryone がディレクトリ内で一時ファイルを作成および削除する権限を持っていることを確認します。
2. データ ソース ファイル (DSN) が他のプログラムによって使用されているとマークされているかどうかを確認します。これらのプログラムは通常、Visual InterDev です。InterDev でデータベース接続を開いているプロジェクトをすべて閉じます。
3. 現時点で ACCESS のテーブルがネットワーク サーバーに接続されているかどうかを確認します。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Microsoft Access 97 ドライバー] '(不明)' ファイルを使用できませんでした。
すでに使用されています。
[理由]
ACCESS データベースに接続するには、ACCESS データベースが使用されており、データベースがロックされているためアクセスできません。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、デフォルトもありません
ドライバーが指定されています。
[理由]
考えられる理由は、ConnectString が global.asa 内のアプリケーション接続文字列を初期化しますが、現時点では global.asa ファイルが正しく機能していないことです。
[解決]
割り当てが正しいかどうかを確認し、次のコードを ASP に追加します。
<%= 'auth_user' は & request.servervariables(auth_user)%>
<P>
<%= 'auth_type' は & request.servervariables(auth_type)%>
<P>
<%= 接続文字列は & session(your_connectionstring)%>
<P>
もう 1 つの理由は、ConnectString にスペースが追加されていることです。たとえば、
DSN = MyDSN; データベース = パブ;
次のように変更してみてください。
DSN=MyDSN;データベース=パブ;
global.asa が実行されていない場合は、ファイルがアプリケーションのルート ディレクトリにあるか、仮想ディレクトリのルート ディレクトリにあるかを確認してください。
DSN 名が見つからないためにエラーが発生する可能性もあります。これは、私が提供した id=36767 の方法を使用して解決できます。最後の手順では、最新のドライバーがインストールされているかどうか、つまり最新の MDAC バージョンであるかどうかを確認します。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Driver Manager] データ ソース名が異なります ??
[理由]
このエラーは、コンピュータへのソフトウェアのインストール (またはアンインストール) の順序で発生する可能性があります。このエラーは、ODBC のバージョンが一致していない場合に発生します。
[解決]
解決策は、最新バージョンの MDAC をインストールすることです。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]一般エラー 開けません
レジストリ キー「DriverId」。
[理由]
このエラーは、レジストリから値を読み取るときに発生します。 regedit32.exe を使用してレジストリのアクセス許可を確認します。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile())。
[理由]
理由の 1 つは、データベースに異なるマシン上の権限関係が含まれている場合、ある関係に対して UNC パスが設定され、別の関係に対してローカル パスが設定されている場合に、同じマシン上でも同じことが発生する可能性があることです。
理由 2: ユーザーが IIS 匿名アカウントを使用してログインすると、そのユーザーはローカル マシンに対する権限を持ちますが、UNC パスを持つマシンの場合、マシンは現在匿名でログインしているアカウントがローカル マシンにあるとは認識しません。それも合法です。このようにすると、その上のリソースにアクセスできなくなり、エラーが発生します。
[解決]
1. IIS ツールで、IIS 匿名アカウントを別のドメインベースのアカウントに変更します。 (つまり、匿名ログインを使用しないでください)
2. または、リソースにアクセスするマシン上に現在の匿名アカウントと同じアカウントを作成し、同じパスワードを使用します。
[エラーメッセージ]
ODBC ドライバー用 Microsoft OLE DB プロバイダー エラー '80004005' Microsoft][ODBC
Microsoft SQL ドライバー] ログオンに失敗しました()
[理由]
このエラーは、SQL Server がログイン アカウントを受け入れない場合、認識できない場合、または管理者としてログインしていない場合に生成されます。
NT に SQL マッピング アカウントがないことが原因である可能性もあります。
[解決]
システム管理者アカウント (SA) でログインします。一般パスワードは空にする必要があります。この時点では CoonectString を使用する必要があり、DSN ファイルは使用できないことに注意してください。ユーザー名とパスワードは DSN に保存されないためです。 NT がアカウントを SQL にマップしているかどうかを確認します。
[エラーメッセージ]
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] ログインに失敗しました - ユーザー: 理由:
信頼された SQL Server 接続の有効なユーザーとして定義されていません。
[理由]
このエラーは、SQL Server がログイン アカウントを受け入れない場合、認識できない場合、または管理者としてログインしていない場合に生成されます。
NT に SQL マッピング アカウントがないことが原因である可能性もあります。
[解決]
SQL Server の Enterprise Manager で、Server/SQL Server/Configure[ASCII] を選択します。
133]/セキュリティ オプション/標準。 IIS4 で実行している場合は、プロジェクトのパスワード同期オプションの選択を解除します。
[エラーメッセージ]
Microsoft OLE DB プロビ