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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top