Sqlite for .net无法使用alter table添加列

时间:2014-10-14 07:45:25

标签: c# sql sqlite

SQL脚本是:

ALTER TABLE SYNC_INFO
ADD COLUMN DB_VERSION INTEGER;

UPDATE SYNC_INFO 
SET DB_VERSION = 1 
WHERE ID = 0;

C#代码是:

using (DbConnection con = new SQLiteConnection("Data Source=" + Filename + ";Version=3"))
{
    con.Open();
    using (DbCommand command = con.CreateCommand())
    {
        command.CommandText = script;
        command.ExecuteNonQuery();
    }
}

问题是sqlite说"数据库被锁定"在尝试评估ALTER TABLE命令时。读/写行等所有操作都是成功的。

另一个 - Mozilla的SQLite经理成功评估了这个脚本。

SQLite的.net包装中是否可能存在问题?

1 个答案:

答案 0 :(得分:0)

您可以收到错误消息"数据库被锁定"当某个其他连接具有活动事务时,。 该事务可能来自程序中某些被遗忘的连接,也可能来自访问数据库的其他程序。