Hi Silver,
> But I really want to avoid a situation where two or more people are
> editing the same layer.
> Is it possible to manage the rights of read and write layers in
> Spatialite (QGIS) ?
>
sorry, absolutely no.
the main difference distinguishing SQLite (and obviously SpatiaLite)
from any other DBMS is in that SQLite is a "personal DBMS".
i.e. it offers absolutely nothing intended to support multi-users
concurrent access.
and there is absolutely nothing implementing individual access
permissions.
very shortly said:
- a single user at each time can safely access a SQLite/SpatiaLite
database file without any restriction
- many concurrent users can safely read at the same time from the
same database file.
but this is true uniquely for strict "read-only" access.
- if two users will attempt to write at the same time a big chaos
will arise for sure. the first request will pass succesfully;
the second one will simply abort returning a "DATABASE IS LOCKED"
errorr message.
it's not a defect: it simply is the natural consequence of the
highly peculiar "light-weight" architecture adopted by SQLite.
> I red that Spatialite is not the most appropriate tool for manage
> multi-access
>
exactly: SpatiaLite and PostGIS are roughly equivalent. Both them
supports the same Spatial SQL capabilities.
* if you absolutely need to support unrestricted multi-user concurrency
PostGIS certainly is the "right tool" for your work.
* if you don't care at all about multi-users, you can safely switch
to the simpler SQLite/SpatiaLite.
> but PostGIS is a little bit more complicated for my colleagues
> and I want to stay simple.
>
You can't have your cake and eat it too :-)
SQLite/SpatiaLite are simpler and easier than PostGIS mainly because
they decided to completely sacrifice multi-users concurrency.
If they'll eventually decide to support multiple concurrent access
they'll inexorably become as complex as PostGIS is.
bye Sandro
--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.