.NET中的SQLite内存数据库备份

时间:2011-02-03 18:26:35

标签: c# .net sqlite system.data.sqlite

如何备份SQLite内存数据库?我在Windows应用程序中创建数据库。我想在关闭应用程序时进行数据库备份。

3 个答案:

答案 0 :(得分:11)

你想要SQLite Online Backup API

据我所知,System.Data.SQLite尚不支持它,所以你需要编写一些代码。 System.Data.SQLite论坛包含一个示例:http://sqlite.phxsoftware.com/forums/t/2403.aspx。如上所述,当您修补System.Data.SQLite并直接调用SQLite时,您需要自担风险。

答案 1 :(得分:0)

用“基于文件的数据库”替换“内存数据库”怎么办?

如果您关闭该应用程序,该文件仍然会在那里。

在程序启动时,您必须确保删除数据库文件。

答案 2 :(得分:-1)

你可以试试这段代码

using (var location = new SQLiteConnection(@"Data Source=activeDb.db; Version=3;"))
using (var destination = new SQLiteConnection(@"Data Source=backupDb.db; Version=3;"))
{
     location.Open();
     destination.Open();
     location.BackupDatabase(destination, "main", "main", -1, null, 0);
}