База данных Sqlite Firedac всегда заблокирована при работе в среде IDE Delphi 10.3 - скомпилированный исполняемый файл отлично работает

У меня проблемы с базой данных Firedac Sqlite в Delphi 10.3.1

Я использую Dbnavigator и DbGrid для ввода новых записей непосредственно в выбранную таблицу. Каждый раз, когда я пытаюсь опубликовать новую запись, я получаю сообщение об ошибке Firedac «Ошибка: база данных заблокирована». Это также происходит, когда я пытаюсь удалить запись. Это происходит только тогда, когда IDE работает. Я прочитал несколько сообщений на многих форумах, посвященных одной и той же проблеме. Я попытался изменить настройки режима блокировки, но проблема не исчезла. Довольно неприятно выходить из IDE, запускать исполняемый файл, тестировать и повторно входить в IDE для отладки.

Любая помощь приветствуется.


person WobblyBob    schedule 27.06.2019    source источник
comment
У вас есть база данных Sqlite или подключение к ней в среде IDE? Если это так, попробуйте закрыть их оба.   -  person MartynA    schedule 27.06.2019
comment
Спасибо, Мартин - похоже, это сработало - я новичок в Sqlite и Firedac и уверен, что у меня появятся еще много вопросов;)   -  person WobblyBob    schedule 27.06.2019


Ответы (1)


Сообщение «база данных заблокировано» появляется, если у вас есть база данных Sqlite или таблица в ней, открытая в среде IDE; это блокирует базу данных, которую ваше приложение обнаруживает и на что жалуется во время выполнения.

Решение простое: убедитесь, что таблица не открыта в IDE и что соединение FireDAC с ней также не активно.

person MartynA    schedule 27.06.2019
comment
Просто установите для свойства Connected компонента TFDConnection значение False. - person Ilyes; 28.06.2019
comment
@Sami: Спасибо, но читатель может не осознавать, что установка Active таблицы на True отменяет это. - person MartynA; 28.06.2019
comment
Да, но все дело в соединении, установка TFDConnection.Connceted:= Fasle; также установит для всех наборов данных Active значение false. В противном случае убедитесь, что нет соединения с db. :) - person Ilyes; 28.06.2019