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.
Asked
Active
Viewed 9,671 times
1 Answers
46
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.

Elias
- 1,367
- 11
- 25
-
3Your example is right, but I just want to remark that the transactions of both databases must be closed, otherwise you'll get a "unknown error" by sqLite! – Lorenzo Isidori Nov 14 '19 at 09:46