Rozumiem, że Spatialite powinien być używany jednocześnie przez jednego użytkownika / maszynę. Jeśli jednak dane są przechowywane na serwerze, nie ma gwarancji, że ktoś na innym komputerze również nie otworzy tej samej bazy danych i nie będzie z niej korzystać. Czy ktoś ma jakiekolwiek doświadczenie z tym, jak QGIS i spatialite reagują na bycie w środowisku wielu użytkowników. W większości przypadków warstwa byłaby warstwą tylko do odczytu. QGIS pozwala wielu osobom czytać te same pliki kształtu, co jest podobną sytuacją. Co się stanie, jeśli wiele osób ma otwarte sesje edycji równoległej?
qgis
spatialite
AndrewM
źródło
źródło
Odpowiedzi:
SQLite działa w modelu wygranych z ostatniej edycji, co prowadzi do problemów z większą wagą niż zapisywanie bloków. W relacji QGIS / SQLite nie ma śledzenia sesji edycji. Tak więc, nawet jeśli otrzymałeś pojedynczy blok zapisujący (SQLITE_BUSY), QGIS po prostu nie edytuje i po prostu zwraca błąd, a następnie przesyła zmianę ponownie.
Poniżej omówiono obsługę tego typu zdarzeń oraz sposób, w jaki QGis obsługuje ponowne przesłanie.
https://github.com/qgis/QGIS/blob/a3447dd9a346f6d5e08451b7c5666a37046435bc/src/core/spatialite/headers/spatialite/sqlite3.h#L1881-L1943
źródło