我使用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