Salvataggio su disco di un database in memoria
Domanda
Ho creato un database tramite sqlite in c ++.
Il db è stato creato in memoria (usando il parametro ": memory: " installato su un nome file), al fine di avere un comportamento molto rapido.
Il database è creato dalle seguenti righe:
sqlite3* mem_database;
if((SQLITE_OK == sqlite3_open(":memory:", &mem_database)){
// The db has been correctly created and
// I can do some stuff with it.
}
sqlite3_close(mem_database);
Il mio problema è: come posso scrivere il database in memoria su disco? (attraverso c / c ++ ovviamente).
Ho letto qualcosa sui comandi sqlite ATTACH e DETACH, ma riesco a farli funzionare solo con la shell interattiva sqlite (non dal codice c / c ++).
saluta.
Soluzione
Dai un'occhiata a questo esempio: Caricamento e salvataggio di database in memoria
Altri suggerimenti
Utilizza l'estratto conto prima di eseguire qualsiasi operazione sulla tabella. Ciò garantisce una gestione rapida e rollback. In questo modo, non è necessario implementare direttamente il database in memoria.