Вопрос по .net-3.5, asp.net, c#, sqlite3 – Попытка написать базу данных только для чтения - System.Data.SQLite

12

У меня есть небольшая проблема, которая, как я думал, связана с безопасностью, но, оказывается, не может быть, так как я сделал почти все ...

Много информации об этом в Интернете, но ни у кого нет ответа, чтобы решить проблему.

Позвольте мне рассказать мои шаги:

Есть сайт на VS2k8, чтобы при отладке или запуске с Cassini все работало нормальноПри настройке IIS 7.5 (Win7) для указания на этот веб-сайт и после добавления прав на изменение IIS_IUSRS я получаю сообщение об ошибкеТо же самое, используя IIS 6.0!

Img: Безопасность файла базы данных из IIS 7.5

альтернативный текст http://www.balexandre.com/temp/2010-02-25_1028.png

Обратите внимание, что все остальные файлы и папки имеют те же права, что и выше

Полная ошибка:

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

Постскриптум Иметь ввиду что это должно работать с IIS 6 (Windows 2003), IIS 7.5 только для устранения неполадок, поскольку у нас больше контроля во всем ...

Вы проверяли состояние файла только для чтения? Arsen Mkrtchyan
Да, я сделал, это не только для чтения, не из файлов в IIS: - / balexandre

Ваш Ответ

2   ответа
12

что учетная запись анонимного веб-пользователя (NETWORK SERVICE илиможет быть, что-то еще), под которым выполняется ваше веб-приложение, имеет доступ на чтение / запись / создание / удаление к папке, в которой находится база данных sqlite.

в IIS 7.5 вы можете выбрать, использовать ли ПОЛЬЗОВАТЕЛЬ или приложение, мой анонимный пользователь - IUSR (как вы можете видеть, он существует в панели безопасности), и у меня возникает та же ошибка при использовании идентификатора пула приложений (img:balexandre.com/temp/2010-02-25_1150.png ) balexandre
0

но мое решение было немного другим. Проблема заключалась в том, что у пользователя не было прав на изменение папки и файла .db. Поэтому я даю разрешение пользователюКаждый (коллективная группа дляАутентифицированные пользователи а такжегость). Разрешения наСЕТЬ СЕРВИС (или аналогичные) не решили в моем случае.

Замечания: IIS должен быть перезапущен после изменения, чтобы загрузить сделанные изменения.

Похожие вопросы