Как получить резервную копию базы данных SQLite в памяти? Я создаю базу данных в своем приложении Windows. Я хочу взять резервную копию базы данных, когда я закрою приложение.
Резервное копирование базы данных SQLite в .NET.
Ответ 1
Вы хотите SQLite Online Backup API.
Насколько мне известно, System.Data.SQLite еще не поддерживает его, поэтому вам нужно будет написать код. Форум System.Data.SQLite содержит пример: http://sqlite.phxsoftware.com/forums/t/2403.aspx. Как уже отмечалось, когда вы исправляете System.Data.SQLite и вызываете SQLite напрямую, вы делаете это на свой страх и риск.
Ответ 2
как заменить "базу данных в памяти" на "файловую базу данных"?
Если вы закроете приложение, файл все равно будет там.
При запуске программы вы должны сделать так, чтобы файл базы данных был удален.
Ответ 3
вы можете попробовать этот код
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);
}