无法更新数据库,因为它是只读的

时间:2010-04-01 12:47:54

标签: c# .net asp.net

我已将我的网站设置为使用ASP.NET Membership。尝试在我的开发机器上使用它时一切正常但是当我把它放在Web服务器上并尝试登录时,我收到此错误:

"Failed to update database "C:\INETPUB\WWWROOT\APP_DATA\ASPNETDB.MDF" because the database is read-only. "

6 个答案:

答案 0 :(得分:11)

感谢您的帮助。我刚刚找到了解决方案。在App_Data ACL中,我有两个条目:网络服务和IIS_IUSRS。网络服务帐户具有完全权限,但IIS_IUSRS组只具有读取权限。所以,我也给了IIS_IUSRS完整的权限,并且它有效!

再次感谢。

答案 1 :(得分:5)

请勿忘记在更改权限后使用“iisreset.exe”重新启动IIS

答案 2 :(得分:2)

检查磁盘上的文件。右键单击并转到属性。

如果它是只读文件,则需要使其可写。

答案 3 :(得分:2)

如果文件是只读的,并且您似乎无法使用“属性”窗口更改它,则必须使用命令提示符。

Refer to this Support article at Microsoft.

答案 4 :(得分:1)

网站运行的用户帐户需要对该文件具有写入权限。

由于传输,文件可能是只读的,需要设置为可写。

答案 5 :(得分:1)

我按照Attilah的回答发现: 1. IIS-ISUR,WebService都对App_Data和mdf完全有所了解。 但有人称“asp.net 4.0 pool”和“所有用户”没有,所以我允许他们。

然后 3.我按照用户1280392的回答运行“iisreset”但失败了(但仍然运行它)。

然后我去了IIS管理器并做了这个: 4.单击服务器名称,单击右侧的“重新启动”。 5.单击应用程序名称,单击右侧的“重新启动”。

没关系。