我想實現的SQLite在我們的支持,並碰上,我得到超時和異常數據庫被鎖定在這個簡單的代碼有問題SQLite的交易失敗,.NET
try
lDb.ConnectionString = String.Format("Data Source={0};Version=3;Pooling=True;Max Pool Size=100;", TextBoxSqlite.Text)
ldb.Connection = New SQLiteConnection(ldb.ConnectionString)
ldb.Connection.Open()
lDb.Connection.BeginTransaction()
for lIndex As Integer = 1 To 100
lQuery = String.Format("INSERT INTO [TableTest] VALUES ('{0}','{1}','{2}') ", lIndex , lIndex , lIndex)
lCommand = New SQLiteCommand()
lCommand.CommandText = lQuery
lCommand.Connection = lDb.Connection
lDb.ExecuteCommand(lCommand)
next
' if ok'
db.CommitTransaction()
catch ex as exception
' if failed rollback'
db.RollbackTransaction()
end try
它運行一次,在第二運行它掛起幾秒鐘並拋出異常。 第一次插入不是(正確)插入。
如果我刪除了BeginTransaction行,它就像廣告一樣工作。
我使用.NET SQlite的(System.Data.SQLite)在最新版本3.12
任何想法可能是什麼? 在此先感謝!
這真的是你正在使用的實際代碼?什麼是'ldb'和'db'? –
對不起,它是在更大的功能,我試圖複製粘貼/適應重要部分刪除了一些可讀性。 db是SqLiteConnection,ldb是我們使用它的包裝類。 – FKh