web-dev-qa-db-ja.com

System.Data.Sqliteを使用したSqliteオンラインバックアップ

データベースがまだオンラインのときに、sqliteデータベースをネイティブC#コードでバックアップするにはどうすればよいですか? オンラインバックアップAPI の例はすべてCコードです。

20
Elias

オンラインバックアップAPIは、 バージョン1.0.80.0- 2012年4月1日System.Data.Sqliteに追加されました。そのような他の外部接続がある間にデータベースバックアップを作成できます

using(var source = new SQLiteConnection("Data Source=ActiveDb.db; Version=3;"))
using(var destination = new SQLiteConnection("Data Source=BackupDb.db; Version=3;"))
{
    source.Open();
    destination.Open();
    source.BackupDatabase(destination, "main", "main", -1, null, 0);
}

また、BackupDb.dbがまだ存在しない場合は、作成されます。

35
Elias