使用System.Data.Sqlite进行Sqlite在线备份

Eli*_*ias 18 c# sqlite system.data.sqlite

在数据库仍处于联机状态时,如何在本机C#代码中备份sqlite数据库?所有在线备份api示例都是C代码.

Eli*_*ias 37

联机备份API加入System.Data.Sqlite1.0.80.0版本- 2012年4月1.您可以创建数据库备份,同时还有其他外部连接

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);
}
Run Code Online (Sandbox Code Playgroud)

此外,BackupDb.db如果它尚不存在,将被创建.

  • 你的例子是正确的,但我只是想指出两个数据库的事务必须关闭,否则你会收到 sqLite 的“未知错误”! (2认同)