我已经从SQLite的‘SQLite-Net-PCL’更新了NuGet包,之后在执行vacuum时收到以下错误:‘SQLite.SQLiteException:’SQL逻辑错误‘我有以下真空查询代码:
vacuum
_connection.Execute("vacuum");
我尝试了SQLiteCommand并创建了一个命令,但它给出了相同的错误。在我从包版本1.3.3更新到1.7.335之前,这段代码是正常的。
w8f9ii691#
使用System.Data.SQLite时,Vacuum只能在删除表后使用。我无法使用更正参数来初始化我的数据库文件来创建一个带有‘Automatic Vacuum’的文件。这是处理这种情况的最好方法。
System.Data.SQLite
using System.Data.SQLite; ... cmd.CommandText = $"DROP TABLE MyTable;"; cmd.ExecuteNonQuery(); cmd.CommandText = $"vacuum;"; cmd.ExecuteNonQuery();
这不是一个最好的方法,但对我的目的很有效。
1条答案
按热度按时间w8f9ii691#
使用
System.Data.SQLite
时,Vacuum只能在删除表后使用。我无法使用更正参数来初始化我的数据库文件来创建一个带有‘Automatic Vacuum’的文件。这是处理这种情况的最好方法。
这不是一个最好的方法,但对我的目的很有效。