Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

Witam - czy w SQLite jest taka możliwość? Ewentualnie coś w stylu kolejkowania zapytań i operacji, które są wykonywane po sobie? Jeśli tak, to jak się to obsługuje?
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

http://sqlite.org/faq.html#q5

konto usunięte

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

nie ma

toż to baza plikowa, nie spodziewaj się cudów tego typu

jak chcesz to zrozwiązć to rób to programowo
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

Przemysław R.:
nie ma

toż to baza plikowa, nie spodziewaj się cudów tego typu

jak chcesz to zrozwiązć to rób to programowo


Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.

We are aware of no other embedded SQL database engine that supports as much concurrency as SQLite. SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business. Other embedded SQL database engines typically only allow a single process to connect to the database at once.

konto usunięte

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

wielodostęp != coś w stylu kolejkowania zapytań
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

Przemysław R.:
wielodostęp != coś w stylu kolejkowania zapytań

OK, ja trochę znadinterpretowałem.
Tak czy inaczej podane jest rozwiązanie - lock-update-unlock + oczekiwanie na zwolnienie locka = proste kolejkowanie.

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

Ale rozumiem, że można spokojnie rozwiązać problem programowo na zasadzie "poczekaj 10 ms z operacją jeśli baza jest zablokowana i spróbuj ponownie"?

konto usunięte

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

aye !

konto usunięte

Temat: SQLite - jednoczesny dostęp do bazy przez wiele procesów

Generalnie rozwiązanie "poczekaj i spróbuj ponownie" powinno zadziałać.

W sieci są dostępne serwery SQLite, przykład:

http://sqliteserver.xhost.ro/

http://www.google.com/search?q=sqlite+serverPiotr Likus edytował(a) ten post dnia 16.02.11 o godzinie 11:07



Wyślij zaproszenie do