|
Блокировка БД при многопользовательском использовании
|
|||
---|---|---|---|
#18+
Ситуация такая: имеется файл БД на файл-сервере и клиентское приложение (Delphi + DISQLite3 ("враппер" для SQLite)), работающее на 2-х компах в локальной сети. В случаях, когда юзер1 и юзер2 одновременно выполняют запись в БД, появляется ошибка: SQLite3 Error 5 - datadase is locked у одного из юзеров (у другого все записывается). Запись в БД схематично делается так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Добавил после коннекта с БД вызов функции Код: pascal 1.
, где варьировал WRITE_BUSY_TIMEOUT от 1 до 30 секунд. Не помогло. Подскажите, пожалуйста, как можно решить эту проблему, если можно вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2013, 14:40 |
|
Блокировка БД при многопользовательском использовании
|
|||
---|---|---|---|
#18+
LiYing, смотри PRAGMA locking_mode = NORMAL | EXCLUSIVE должно быть NORMAL ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2013, 17:12 |
|
Блокировка БД при многопользовательском использовании
|
|||
---|---|---|---|
#18+
wowow, Если база в EXCLUSIVE режиме то второе соединение вообще не откроется, можно поиграть с опциями busy_timeout, read_uncommitted, и методом qlite3_enable_shared_cache ( pragma ) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2013, 10:48 |
|
Блокировка БД при многопользовательском использовании
|
|||
---|---|---|---|
#18+
pit_alexwowow, Если база в EXCLUSIVE режиме то второе соединение вообще не откроется, можно поиграть с опциями busy_timeout, read_uncommitted, и методом qlite3_enable_shared_cache ( pragma ) возможно транзакцию не завершает... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2013, 14:53 |
|
Блокировка БД при многопользовательском использовании
|
|||
---|---|---|---|
#18+
LiYing, посмотрите еще параметр journal_mode... тоже pragma параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2013, 14:56 |
|
|
start [/forum/topic.php?fid=54&msg=38494550&tid=2008840]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 426ms |
0 / 0 |