---редактирование---Является там дополнительной информацией, которую я могу дать, чтобы помочь решить эту проблему?
Я пытаюсь встать и работаю с Sqlite и Entity Framework в веб-сервисе WCF.NET.
Когда я пытаюсь сохранить что-либо к базе данных, я добираюсь, ошибка "пытаются записать базу данных только для чтения". Вот полная информация об ошибке:
Система. Данные. EntityException: ошибка произошла при запуске транзакции на соединении поставщика. Посмотрите внутреннее исключение для деталей.
---> Система. Данные. SQLite. SQLiteException: Попытайтесь записать базу данных только для чтения
Попытайтесь записать базу данных только для чтения
в System. Данные. SQLite. SQLite3. Сброс (SQLiteStatement stmt)
в [надрезе]........................................................> в System. Данные. EntityClient. EntityConnection. BeginDbTransaction (IsolationLevel isolationLevel) в System. Данные. Распространенный. DbConnection. BeginTransaction () в Системе. Данные. EntityClient. EntityConnection. BeginTransaction () в Системе. Данные. Объекты. ObjectContext. SaveChanges (булевская переменная acceptChangesDuringSave) в System. Данные. Объекты. ObjectContext. SaveChanges () в...
Вот моя конфигурация EF в Web.config (с разрывами строки для более легкого чтения):
<connectionStrings>
<add
name="FooEntities"
connectionString="metadata=res://*/FooDataModel.csdl|
res://*/FooDataModel.ssdl|
res://*/FooDataModel.msl;
provider=System.Data.SQLite;
provider connection string='data source=C:\domains\myfoosite.com\wwwroot\FooService\Foo.sqlite'"
providerName="System.Data.EntityClient" />
<connectionStrings>
Почему я получаю эту ошибку? Почему база данных только для чтения?
Некоторые вещи я попробовал:
Обеспеченный каталог и файл являются записываемыми веб-сервисом. (Я попытался писать файлы простого текста в тот же каталог как тест.)
Я добавил 'чтение only=False' к строке подключения.
Оказывается, проблема была в настройках безопасности IIS. Мне пришлось включить доступ на запись в скрипт, и он волшебным образом заработал.