我使用C#应用程序和运行在服务器机器service.When我进行将Windows应用程序,更新删除客户机上运行,它抛出数据库锁如下错误,SQLite数据库被锁定异常
database is locked
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()
at System.Data.SQLite.SQLiteTransaction.Commit()
下面是我的代码
public int ExecuteNonQuerySQL(SQLiteCommand cmd)
{
int ireturn = 0;
if (conn.State != ConnectionState.Open)
Open(DataFile);
using (SQLiteTransaction dbtrans = conn.BeginTransaction(IsolationLevel.ReadCommitted))
{
using (cmd.Connection=conn)
{
cmd.CommandText =cmd.CommandText ;
cmd.Transaction = dbtrans;
ireturn = cmd.ExecuteNonQuery();
dbtrans.Commit();
cmd.Dispose();
}
}
}
请帮我在这,我已经做了google搜索的很多,我必须找到一些解决方案来解决这个问题。 Regards
似乎你没有关闭连接。 – Reniuz
在执行查询之前,数据库连接被关闭并重新打开。 – user642378
之后呢?锁定异常可能是因为当你打开数据库连接锁定文件。您需要释放锁定 - 关闭连接。所以确保你真的关闭连接。 – Reniuz