• 締切済み

ASP.NETのユーザー権限について

ASP.netとACCESSを接続しています。 INSERT文を記述して実行したところ、「更新可能なクエリであることが必要です」というエラーメッセージがでました。 これはmdbを保存しているフォルダにASP.netのユーザー権限がないから起こるエラーのようですが、ASP.netのユーザー権限はどのように設定するのでしょうか? ご存知の方がおられましたら教えて下さい。

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

> ユーザーの中にIUSR_MACHINE名が存在しませんでした。 そうなんや・・・・違う場合もあるのね・・・・勉強になりました。 > ASP.NETのワーカープロセスの実行というのは、 > ASP.NETの実行中にデータの挿入・削除・更新の > 作業をするということなのでしょうか? そうそう。  例えば、君がパソコンでMDBを開いてinsertしたら、それはWindowsにログオンしたユーザの権限で動作する。それはひとえに、ユーザShinShinShinShinが実行しているプロセスMSACCESS.EXEで行われるからだな。  で、ASP.NETは、IISの設定やIISのフォルダの設定で「匿名アクセス アカウント」となっているWindowsアカウントでASP.NETプロセスが実行される(多分)。セキュリティ上弱い権限になっているので、ファイルの書き込みをする場合など、フォルダに対して適切に権限を付与してやる必要があるんだね。  興味があったらIISのプロパティでディレクトリセキュリティの匿名アクセスを覗いてみると良いだろう。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

ASP.NETのワーカープロセスを実行するユーザーは、単純にインストールするとIUSR_(コンピュータ名)となるはず。  とりあえずIUSR_MACHINEの読み書き権限をMDBを置いているフォルダに追加してあげてみてはどうだろう。  すぐ戻すとしてテストでEveryoneフルコントロールにして実行してみるとか。それでうまくいけばやはり書き込み権限だし、改善されなければ別の原因だと少なくとも切り分けができる。

ShinShinShinShin
質問者

お礼

ご回答ありがとうございました。Everyoneフルコントロールにしたことで上手く実行できました。 ただ、ユーザーの中にIUSR_MACHINE名が存在しませんでした。これは単純にインストールしていなかったことでしょうか? ASP.NETのワーカープロセスの実行というのは、ASP.NETの実行中にデータの挿入・削除・更新の作業をするということなのでしょうか?

関連するQ&A

専門家に質問してみよう