2011-02-03 28 views
11

SQLiteインメモリデータベースをバックアップするには?私はWindowsアプリケーションでデータベースを作成します。私は、アプリケーションを終了するときにデータベースバックアップを取る必要があります。SQLiteメモリ内データベースバックアップ

+0

可能重複http://stackoverflow.com/questions/11383775/c-sharp-sqlite-memory-stream-as -db) – lxa

答えて

10

SQLite Online Backup APIが必要です。

私が知る限り、System.Data.SQLiteはまだそれをサポートしていないので、いくつかのコードを書く必要があります。 System.Data.SQLiteフォーラムには、例:http://sqlite.phxsoftware.com/forums/t/2403.aspxが含まれています。前述のように、System.Data.SQLiteにパッチを当てて直接SQLiteを呼び出すと、あなた自身の責任でSQLiteを呼び出すことができます。

0

"メモリベースのデータベース"を "ファイルベースのデータベース"に置き換えるのはどうですか?

アプリを終了しても、ファイルはそこに残ります。

プログラムの開始時に、データベースファイルが削除されていることを確認する必要があります。

このコードを試すことが
+3

いいえ...実際には、私たちはメモリデータベースでのみ使用します。それが当社の最重要要件です。 – Omkar

0

using (var location = new SQLiteConnection(@"Data Source=activeDb.db; Version=3;")) 
using (var destination = new SQLiteConnection(@"Data Source=backupDb.db; Version=3;")) 
{ 
    location.Open(); 
    destination.Open(); 
    location.BackupDatabase(destination, "main", "main", -1, null, 0); 
} 
[DBとしてC#SQLiteのメモリストリーム](の
関連する問題