- ベストアンサー
データベース(xxx.mdf)の更新処理ができない
- Microsoft visual Web Developerを使ってWebサイトを作っています。IISからサイトにアクセスし、データベース(xxx.mdf)の更新処理を行なうと、データベースが読み取り専用であるというエラーが発生しています。
- Microsoft visual Web Developerでデータベースのアクセス権限やIISの設定を確認することができます。
- デバッグモードでは問題なくデータベースを更新できますが、通常のモードではデータベースが読み取り専用となってしまいます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
MDFを直接開くようであれば、エクスプローラ上でxxx.mdfを右クリックし、「プロパティ」「セキュリティ」タブで、ユーザ/グループにASPNETを加え、「書き込み・変更」をチェックします。 現在は「Everyone」の「読込み」がチェックされている状態かと思います(つまり誰でも読込みは可能)。 面倒ならば、ドライブのルートごと「セキュリティ」を「Everyone」に「フルサポート」してしまえばいいです(セキュリティ的にはアレですが)。またいっそ、セキュリティ設定対象にならない「FAT32」ディスクにファイルを置くとか(乱暴)。 ASP.NETの場合は「IISがDBを操作する」ではなく、「IISが起動したプロセスがDBを操作する」というイメージです。 Visual Studioでのデバッグ時は、「DebuggerUser」というアカウントが立ち上がっていますが、こいつには自動的に書込権限が付与されていますので注意です。
その他の回答 (2)
- aspnet
- ベストアンサー率79% (72/91)
単にDBへの書込権限がないためと思われます。 ASP.NETにおけるプロセスアカウントは、 IIS6.0の場合、"Network Service" IIS5.Xの場合、ASPNET になっていますので、これらのユーザについて書込・変更権限を設定してください。 IISにおける匿名アカウント"IUSER_サーバ名"は、ASP.NETの場合関係ありません。
補足
aspnetさん: どうもありがとうございます。 IIS関連の設定はどどど素人でよく分からないのですが、 具体的にはどこで設定すればよいのでしょうか? バージョンは5.1です。 よろしくお願いしますm(_ _ )m
- mindatg
- ベストアンサー率48% (110/227)
IIS_IUSRSに書き込み・変更の権限があるかどうか
お礼
回答どうもありがとうございます。 「IIS_IUSRSに書き込み・変更の権限があるかどうか」とは? 具体的には、IISのプロパティ画面-仮想ディレクトリの「書き込み」にチェックを入れるということでしょうか? これもやってみたのですが、どうも上手くいきません。(><;
補足
aspnetさん: ありがとうございます。 また問題が!(涙) エクスプローラ上でxxx.mdfを右クリックし、「プロパティ」を開きましたが、「セキュリティ」タブがありません。 「全般」と「概要」しかないのです。 根本的になにか違うのでしょうか?