Мне нужна возможность резервного копирования базы данных sqlite, не блокируя ее для вставок. Я могу сделать это с Sql Server просто отлично, но я надеялся, что есть способ сделать это с Sqlite.
Код резервной копии:
using (var location = new SQLiteConnection(sqliteConnectionString))
using (var destination = new SQLiteConnection(buConnectionString))
{
location.Open();
destination.Open();
location.BackupDatabase(destination, "main", "main", -1, null, 0);
}
и код, который выдает там ошибку:
using (var connection = new SQLiteConnection(constring))
{
connection.Open();
using (var cmd = new SQLiteCommand(sql, connection))
{
using (var tx = connection.BeginTransaction())
{
foreach (var t in data)
{
cmd.Parameters.AddWithValue("$Id", t.TagId);
cmd.Parameters.AddWithValue("$StampedIn", t.StampedIn.
ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture));
cmd.Parameters.AddWithValue("$StampedOut", t.StampedOut.
ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture));
}
cmd.ExecuteNonQuery();
tx.Commit();
}
}
connection.Close();
}
Объект данных содержит около 3000 элементов, каждый из которых регистрируется / обновляется один раз в секунду. Любые идеи о том, как сделать резервную копию без блокировки базы данных, будут полезны. Спасибо всем