2009-09-17 10 views
20

私はC++でsqliteを使用してデータベースを作成しました。ディスクにメモリ内のデータベースを保存する

非常に高速な動作をさせるために、dbはメモリ内に作成されています(ファイル名の ":memory:"パラメータを使用)。

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

私の問題は、次のとおりです:どのように私は、ディスクへのインメモリ・データベースを作成することができます

データベースは、次の行で作成されましたか? (もちろんc/C++を通して)。

私はATTACHとDETACHのsqliteコマンドについて読んだことがありますが、それらはsqliteの対話型シェル(c/C++コードではありません)でしか動作しません。

Greets。

答えて

19

は、この例をチェックアウト:Loading and Saving In-Memory Databases

+0

素晴らしい!これは完全に機能しました:D – Giancarlo

+0

私は同じ目的のためにC#のドキュメントを探しています。あなたが知っている場合は共有してください。 –

+0

@Mubashar:私はC#に慣れていません。私はC#の例を変換するのは簡単だと信じています。 'sqlite3_backup_X'関数がその役割を果たします。 –

2

使用トランザクション文をテーブルに何かを行う前に。これにより、迅速な処理とロールバックも保証されます。この方法では、データベースをメモリに直接実装する必要はありません。

関連する問題