Sqlite Online Backup Using System.Data.Sqlite

Elias picture Elias · May 8, 2015 · Viewed 8.6k times · Source

How can a sqlite database be backed up in native C# code while the database is still online? All of the online backup api examples are in C code.

Answer

Elias picture Elias · May 8, 2015

The online backup API was added to System.Data.Sqlite in version 1.0.80.0 - April 1, 2012. You can create a database backup while there are other external connections like so

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

Also, BackupDb.db will be created if it doesn't already exist.