Saving to disk an in-memory database

Giancarlo picture Giancarlo · Sep 17, 2009 · Viewed 24.2k times · Source

I made a database through sqlite in c++.

The db has been created in memory (using the ":memory:" parameter insted of a filename), in order to have a very quick behavior.

The database is created by the following lines:

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);

My problem is: how can I write the in-memory database to disk? (through c/c++ of course).

I read something about the ATTACH and DETACH sqlite commands, but I can get them working only with the sqlite interactive shell (not from c/c++ code).

Greets.

Answer

Nick Dandoulakis picture Nick Dandoulakis · Sep 17, 2009

Check out this example: Loading and Saving In-Memory Databases