Резервное копирование базы данных SQLite в .NET - PullRequest
12 голосов
/ 03 февраля 2011

Как создать резервную копию базы данных SQLite в памяти? Я создаю базу данных в моем приложении Windows. Я хочу сделать резервную копию базы данных, когда закрою приложение.

Ответы [ 3 ]

11 голосов
/ 03 февраля 2011

Требуется API резервного копирования SQLite .

Насколько я знаю, System.Data.SQLite пока не поддерживает его, поэтому вам нужно написать некоторый код. Форум System.Data.SQLite содержит пример: http://sqlite.phxsoftware.com/forums/t/2403.aspx. Как уже отмечалось, когда вы исправляете System.Data.SQLite и вызываете SQLite напрямую, вы делаете это на свой страх и риск.

0 голосов
/ 07 августа 2017

Вы можете попробовать этот код

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);
}
0 голосов
/ 04 февраля 2011

как насчет замены "базы данных в памяти" на "файловую базу данных"?

Если вы закроете приложение, файл все равно будет там.

При запуске программы убедитесь, что файл базы данных удален.

...