Сначала я использую System.Data.SQLite v1.0.111 , чтобы открыть соединение с базой данных в памяти, как показано ниже.
SQLiteConnection dest= new SQLiteConnection("FullUri='file:db1?mode=memory&cache=shared'");
dest.Open();
Затем у меня есть другая база данных sqlite, котораяоткрывается, как показано ниже.
SQLiteConnection src= new SQLiteConnection(@"Data Source=C:\db1.sqlite");
src.Open();
Затем я попытался VACUUM INTO
SQL скопировать файловую базу данных в базу данных в памяти, и он выдал ошибку.
using( SQLiteCommand cmd = src.CreateCommand() )
{
cmd.CommandText = $"VACUUM main INTO 'file:db1?mode=memory&cache=shared';";
cmd.ExecuteNonQuery();
}
SQLiteException: недостаточно памяти
at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
База данных в файле небольшая (20 КБ), но в ней недостаточно памяти?
Спасибо