プロが教えるわが家の防犯対策術!

Microsoft visual Web Developerを使ってWebサイトを作っています。
IISからサイトにアクセスし、データベース(xxx.mdf)の更新処理を行なうと、以下のエラーになります。
*******************************************************
データベース "C:\xxx\APP_DATA\aaa.MDF" を更新できませんでした。データベースが読み取り専用です。
*******************************************************
Microsoft visual Web Developerを使い始めたばかりなので、よく分からないのですが、データベースのアクセスを設定できるのでしょうか?
それとも、IISの設定がおかしいのでしょうか?

デバッグモードでは問題なくデータベースを更新できます。

A 回答 (3件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/12 14:06

単にDBへの書込権限がないためと思われます。


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

この回答への補足

aspnetさん:
どうもありがとうございます。

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

補足日時:2009/05/13 09:27
    • good
    • 0

MDFを直接開くようであれば、エクスプローラ上でxxx.mdfを右クリックし、「プロパティ」「セキュリティ」タブで、ユーザ/グループにASPNETを加え、「書き込み・変更」をチェックします。


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

この回答への補足

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

補足日時:2009/05/14 09:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!