Я понимаю, что Spatialite предназначен для использования одним пользователем / машиной одновременно. Однако, если данные хранятся на сервере, нет никакой гарантии, что кто-то на другом компьютере также не откроет эту же базу данных и не использует ее. Кто-нибудь имеет опыт работы с QGIS и пространством в многопользовательской среде? В большинстве случаев слой будет слоем только для чтения. QGIS позволяет нескольким людям читать одни и те же шейп-файлы, что является аналогичной ситуацией. Что произойдет, если несколько человек одновременно откроют сеансы редактирования?
qgis
spatialite
AndrewM
источник
источник
Ответы:
SQLite работает в модели последнего редактирования побед, что приводит к проблемам с большим весом, чем блоки записи. В отношениях QGIS / SQLite нет отслеживания сеансов редактирования. Таким образом, даже если вы получили один блок записи (SQLITE_BUSY), QGIS просто не сможет отредактировать и просто вернет ошибку, а затем передаст изменение снова.
Ниже обсуждается обработка этого типа события и как QGis обрабатывает повторную отправку.
https://github.com/qgis/QGIS/blob/a3447dd9a346f6d5e08451b7c5666a37046435bc/src/core/spatialite/headers/spatialite/sqlite3.h#L1881-L1943
источник