简体   繁体   中英

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);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM