PRB: エラー 80004005 "Microsoft Jet データベース エンジンでファイル '(unknown)' を開くことができません"
現象
ActiveX データ オブジェクト (ADO) または ODBC を使用して Microsoft Access データベースに接続すると、次のエラー メッセージが表示されることがあります。
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.
原因
このエラー メッセージには、いくつかの原因があります。
- Microsoft Internet Information Server (IIS) が使用しているアカウント (通常は IUSR) には、ファイル ベースのデータベースまたはファイルを含むフォルダーに対する正しいWindows NTアクセス許可がありません。
- ファイルとデータ ソース名は、排他としてマークされます。
- 別のプロセスまたはユーザーが Access データベースを開いています。
- このエラーは、委任の問題が原因である可能性があります。 認証方法 (Basic と NTLM) (存在する場合) を確認します。 接続文字列で汎用名前付け規則 (UNC) を使用する場合は、基本認証または C:\Mydata\Data.mdb などの絶対パスを使用してみてください。 この問題は、UNC が IIS コンピューターに対してローカルなリソースを指している場合でも発生する可能性があります。
- このエラーは、テーブルがネットワーク サーバー上の Access データベース内にあるテーブルにリンクされているローカルの Microsoft Access データベースにアクセスする場合にも発生する可能性があります。
解決方法
次の項目は、前の原因の一覧に対応しています。
ファイルとフォルダーのアクセス許可を確認します。 一時ファイルを作成または破棄する機能があることを確認します。 通常、一時ファイルはデータベースと同じフォルダーに作成されますが、ファイルは WINNT フォルダーなどの他のフォルダーにも作成される場合があります。
データベース (UNC またはマップされたドライブ) へのネットワーク パスを使用する場合は、共有、ファイル、およびフォルダーに対するアクセス許可をチェックします。
ファイルとデータ ソース名 (DSN) が排他としてマークされていないことを確認します。
"他のユーザー" は Microsoft Visual InterDev です。 データベースへのデータ接続を含む Visual InterDev プロジェクトを閉じます。
簡素 化。 ローカル ドライブ文字を使用するシステム DSN を使用します。 必要に応じて、データベースをローカル ドライブに移動してテストします。
関連情報
ファイル アクセスエラーをチェックするには、Windows NT ファイル モニターを使用します。 ファイル モニターをダウンロードするには、「 Windows Sysinternals」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示