SQLite in-memory database backup in .NET
How to get the SQLite in-memory data base backed up? I create 开发者_如何学运维the database in my Windows application. I want to take a database backup when I will close the application.
You want the SQLite Online Backup API.
As far as I know, System.Data.SQLite does not support it yet, so you'll need to write some code. The System.Data.SQLite Forum contains an example: http://sqlite.phxsoftware.com/forums/t/2403.aspx. As noted, when you patch System.Data.SQLite and call SQLite directly you do so at your own risk.
what about replacing the "in-memory database" with a "file based database"?
If you close the app the file will then still be there.
At program start you have to make shure that the database file is deleted.
you may try this code
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);
}
精彩评论