Posso leggere da un db SQLite durante la scrittura su iPhone?
-
19-09-2019 - |
Domanda
E 'possibile leggere da un db SQLite mentre è in corso la scrittura?
Sono consapevole del fatto che l'accesso è bloccato in scrittura quando è in corso la scrittura, ma è che lo stesso per legge?
Soluzione 2
Dopo un po 'leggendo in giro, e guardando attraverso il codice FMDB, ho scoperto che non stavo usando correttamente i valori di ritorno SQLITE_BUSY e SQLITE_LOCKED.
Secondo il codice FMDB, uno deve essere ripetuto per un numero limitato di tentativi, in attesa di un breve periodo di tempo bewteen.
Così ho implementato che nel mio codice, e tutto sembra funzionare bene.
Altri suggerimenti
E 'un po' contorto, ma controllare il chiusura di lima e la documentazione concorrenza SQLite. Suona come se il db è in modalità exclusive
bloccato, che è l'unica volta che si legge non sono ammessi. Oltre sbloccato, quando il db non è nemmeno aperto.
Non sono sicuro al 100% su di esso, ma è quello che I pensare significa.
Sì, anche se tutti i problemi di multithreading pertinenti ripresi devono essere conto. Io in genere aprire più maniglie allo stesso file di DB tramite sqlite3_open_v2 ().