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.
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.