2010-04-01 14 views
7

Skonfigurowałem moją witrynę internetową, aby używać członkostwa ASP.NET. to wszystko działa dobrze, gdy próbuje użyć go na moim komputerze deweloperskim, ale kiedy umieścić go na serwerze WWW i spróbuj się zalogować, otrzymuję ten błąd:Nie można zaktualizować bazy danych, ponieważ jest ona tylko do odczytu.

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

Czy plik jest tylko do odczytu? Czy konto użytkownika asp ma uprawnienia do zapisu w katalogu, w którym znajduje się baza danych? –

Odpowiedz

11

dzięki za pomoc. Właśnie znalazłem rozwiązanie. w ACL App_Data miałem dwa wpisy: Network Service i IIS_IUSRS. konto usługi sieciowej miało pełne uprawnienia, ale grupa IIS_IUSRS miała tylko uprawnienia do odczytu. więc dałem także IIS_IUSRS pełne uprawnienia i zadziałało!

Jeszcze raz dziękuję.

1

Konto użytkownika, że ​​strona internetowa jest uruchomiona w ramach potrzeb pisz uprawnienia do pliku.

Jest również prawdopodobne, że plik jest tylko do odczytu w wyniku transferu i należy go ustawić, aby można było go zapisać.

+0

Udzieliłem pełnej zgody na konto usługi sieciowej. Używam Windows 7 – Attilah

+0

Czy możesz napisać ciąg połączenia? – Oded

+1

Cześć Oded, dziękuję za pomoc. Właśnie znalazłem rozwiązanie. w ACL App_Data miałem dwa wpisy: Network Service i IIS_IUSRS. konto usługi sieciowej miało pełne uprawnienia, ale grupa IIS_IUSRS miała tylko uprawnienia do odczytu. więc dałem także IIS_IUSRS pełne uprawnienia i zadziałało! – Attilah

2

Sprawdź, czy plik na dysku. Kliknij prawym przyciskiem myszy i przejdź do właściwości.

Jeśli jest to plik tylko do odczytu, konieczne będzie jego zapisanie.

+0

tak, plik jest read-only.it dziedziczy to zachowanie z folderu nadrzędnego z folderem aplikacji. Zabawne jest to, że kiedy próbuję usunąć folder App_Data z trybu tylko do odczytu, to wraca on tylko do odczytu. nie wiem co robić ... – Attilah

+1

Miałem podobny problem, nie zauważyłem, że TFS ustawił go tylko do odczytu po meldowaniu. –

5

Nie zapomnij, aby ponownie uruchomić usługi IIS z "iisreset.exe" po zmianie uprawnień

+0

To było naprawdę pomocne, zmienione uprawnienia zostały zastosowane tylko po ponownym uruchomieniu usług IIS. –

1

Śledziłem odpowiedź Attilah i stwierdził: 1. Zarówno IIS-Isur WebService miał pełną pomission do App_Data a mdf. 2. Ale ktoś o nazwie "pula asp.net 4.0" i "wszyscy użytkownicy" nie, więc pozwoliłem im.

Następnie 3. Podążałem za odpowiedzią użytkownika1280392, aby uruchomić "iisreset", ale nie udało się (ale nadal uruchomiłem to).

Następnie poszedłem do Menedżera IIS i zrobiłem to: 4. Kliknąłem nazwę serwera, kliknąłem "restart" po prawej stronie. 5. Kliknąłem nazwę aplikacji, kliknąłem "restart" po prawej stronie.

i było w porządku.

Powiązane problemy