Ответ 1
Убедитесь, что учетная запись анонимного веб-пользователя (NETWORK SERVICE или может быть что-то еще), под которым выполняется ваше веб-приложение, имеет чтение/запись/создание/удалить доступ к папке, в которой находится база данных sqlite.
У меня есть небольшая проблема, которая, как я думал, связана с безопасностью, но, оказывается, не может быть, так как я сделал почти все...
Много информации об этом в Интернете, но ни у кого нет ответа, чтобы решить проблему.
Позвольте мне рассказать мои шаги:
Img: Безопасность файла базы данных из IIS 7.5
(источник: balexandre.com)
Обратите внимание, что все остальные файлы и папки имеют те же права, что и выше
Полная ошибка:
Log: Executing query on SQLite Database
Message ***************************************
Attempt to write a read-only database
attempt to write a readonly database
Stack Trace ***********************************
at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at soDatabaseManager.CommitPersonsToKitchenDatabase() in c:\Adwiza\Kitchen\App_Code\soDatabaseManager.cs:line 242
PS Имейте в виду, что это должно работать и с IIS 6 (Windows 2003), IIS 7.5 предназначен только для устранения неполадок, поскольку у нас больше контроля над всем...
Убедитесь, что учетная запись анонимного веб-пользователя (NETWORK SERVICE или может быть что-то еще), под которым выполняется ваше веб-приложение, имеет чтение/запись/создание/удалить доступ к папке, в которой находится база данных sqlite.
Другой ответ дает мне представление о проблеме, но мое решение было немного иным. Проблема заключалась в том, что у пользователя не было прав на изменение папки и файла .db. Поэтому я предоставляю разрешение пользователю Каждому (коллективная группа для Аутентифицированных пользователей и Гость). Разрешения на СЕТЕВОЙ СЕРВИСЕ (или аналогий) в моем случае не решались.
Примечание. Чтобы загрузить сделанное изменение, после перезапуска IIS
необходимо перезапустить.