• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベース(xxx.mdf)の更新処理ができない)

データベース(xxx.mdf)の更新処理ができない

このQ&Aのポイント
  • Microsoft visual Web Developerを使ってWebサイトを作っています。IISからサイトにアクセスし、データベース(xxx.mdf)の更新処理を行なうと、データベースが読み取り専用であるというエラーが発生しています。
  • Microsoft visual Web Developerでデータベースのアクセス権限やIISの設定を確認することができます。
  • デバッグモードでは問題なくデータベースを更新できますが、通常のモードではデータベースが読み取り専用となってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • aspnet
  • ベストアンサー率79% (72/91)
回答No.3

MDFを直接開くようであれば、エクスプローラ上でxxx.mdfを右クリックし、「プロパティ」「セキュリティ」タブで、ユーザ/グループにASPNETを加え、「書き込み・変更」をチェックします。 現在は「Everyone」の「読込み」がチェックされている状態かと思います(つまり誰でも読込みは可能)。 面倒ならば、ドライブのルートごと「セキュリティ」を「Everyone」に「フルサポート」してしまえばいいです(セキュリティ的にはアレですが)。またいっそ、セキュリティ設定対象にならない「FAT32」ディスクにファイルを置くとか(乱暴)。 ASP.NETの場合は「IISがDBを操作する」ではなく、「IISが起動したプロセスがDBを操作する」というイメージです。 Visual Studioでのデバッグ時は、「DebuggerUser」というアカウントが立ち上がっていますが、こいつには自動的に書込権限が付与されていますので注意です。

amamaq
質問者

補足

aspnetさん: ありがとうございます。 また問題が!(涙) エクスプローラ上でxxx.mdfを右クリックし、「プロパティ」を開きましたが、「セキュリティ」タブがありません。 「全般」と「概要」しかないのです。 根本的になにか違うのでしょうか?

その他の回答 (2)

  • aspnet
  • ベストアンサー率79% (72/91)
回答No.2

単にDBへの書込権限がないためと思われます。 ASP.NETにおけるプロセスアカウントは、 IIS6.0の場合、"Network Service" IIS5.Xの場合、ASPNET になっていますので、これらのユーザについて書込・変更権限を設定してください。 IISにおける匿名アカウント"IUSER_サーバ名"は、ASP.NETの場合関係ありません。

amamaq
質問者

補足

aspnetさん: どうもありがとうございます。 IIS関連の設定はどどど素人でよく分からないのですが、 具体的にはどこで設定すればよいのでしょうか? バージョンは5.1です。 よろしくお願いしますm(_ _ )m

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

IIS_IUSRSに書き込み・変更の権限があるかどうか

amamaq
質問者

お礼

回答どうもありがとうございます。 「IIS_IUSRSに書き込み・変更の権限があるかどうか」とは? 具体的には、IISのプロパティ画面-仮想ディレクトリの「書き込み」にチェックを入れるということでしょうか? これもやってみたのですが、どうも上手くいきません。(><;