2つのことが頭に浮かびます。
1.) 予約済みキーワード
特定のキーワードをテーブル名または列名として使用すると、実際の原因を実際に伝えない不可解な例外が発生する可能性があります。
あなたのコラムID
は疑わしいように見えます。
簡単なインターネット検索では、この理論の証拠は見つかりませんでしたが、ID は MS Access の予約語としてどこかで見たことを覚えていると思います。あなたはしようとすることができます
- 列の名前を変更する
- 山かっこで列名を書く
[]
(非推奨)
2.) この記事が役に立ちそうです:操作が更新可能なクエリを使用する必要があるというエラーを解決する
Jet 4.0 データベース (「Access」mdb ファイルで表される実際のデータベースの種類) がマルチユーザー環境に展開されると、データベースが開かれるたびに .ldb ファイルが作成されます。.ldb ファイルには、ファイルを開いたユーザーなどの詳細が含まれており、主に、開いているレコードが別のユーザーによって書き込まれるのを防ぐ役割を果たします。
ASP.NET アプリケーションのコンテキストでは、「ユーザー」はプラットフォームによって異なります。XP Pro マシンの場合、ユーザーは ASPNET アカウントです。Windows Server 2003、2008、および Vista では、NETWORK SERVICE アカウントです。ただし、ASP.NET の偽装を有効にしている場合、既定のユーザー アカウントは IUSR_machinename または適用したアカウントになります。ASP.NET アプリケーションがどのアカウントで実行されているかわからない場合は、Environment.UserName がそれを返します。必要な .ldb ファイルを作成、書き込み、および削除できるようにするには、関連するユーザーが .mdb ファイルがあるフォルダーに対する MODIFY 権限を持っている必要があります。
このアクセス許可を設定するには、App_Data フォルダー (または mdb ファイルを配置した他のフォルダー) を右クリックし、[プロパティ] を選択します。[セキュリティ] タブを探します。表示されない場合は、[マイ コンピュータ] に移動し、[ツール] をクリックして [フォルダ オプション...] を選択し、[表示] タブをクリックします。一番下までスクロールし、「簡易ファイル共有を使用する (推奨)」のチェックを外します。[セキュリティ] タブに戻り、関連するアカウントを [グループまたはユーザー名] ボックスに追加する必要があります。[追加...] をクリックし、[詳細]、[検索開始] の順にクリックします。適切なアカウントが表示されます。それをダブルクリックして [グループ名またはユーザー名] ボックスに追加し、権限の [変更] オプションをオンにします。それでおしまい。これで完了です。
注: この修正により、「Microsoft Jet データベース エンジンはファイル '(unknown)' を開けません。既に別のユーザーによって排他的に開かれているか、そのデータを表示する権限が必要です」というエラーも解決されます。