Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.248.208] |
|
Сообщ.
#1
,
|
|
|
Приветствую!
В Delphi я новичок. Пытаюсь написать приложение для работы с базой SQLite (запросы только на чтение из базы). Когда одна копия приложения работает с базой -- всё ок. При открытии этой базы другой копией приложения или любым другим (к примеру SqliteDog) -- "database is locked" Использую Delphi XE6 + FireDAC Подскажите, пожалуйста, каким образом можно организовать доступ нескольких копий приложения к одной базе SQLite? |
Сообщ.
#2
,
|
|
|
Насколько я понимаю, sqlite - это персональная небольшая базка для одного приложения. Попытки сделать из нее общий источник данных не самая удачная идея. Если она не дает двух одновременных подключений (что совершенно правильно), и менять СУБД совсем никак нельзя, то можно сделать трехзвенку - приложения общаются с "сервером", у которого монопольный доступ к базе
|
Сообщ.
#3
,
|
|
|
Да. SQLite -- маленькая встраиваемая база.
Но, если я правильно понял мануал по sqlite, то несколько подключений всё-таки можно организовать, если использовать режим общего кэша (shared cache) Попробую --- напишу результат. С ходу еще несколько вопросов: Как "ускорить" работу с базой? Как правильно организовать работу с базой через транзакции используя FireDAC? |
Сообщ.
#4
,
|
|
|
Цитата D3N15 @ Попробую --- напишу результат. Переключил работу в режим shared cache --- теперь несколько копий приложения без проблем работают с одной базой |