Sqlite

SQLite 連接字元串中的“預設超時”值用於什麼?

  • October 19, 2018

我查看了 SQLite 文件,但找不到任何關於“預設超時”值的明確資訊。

查看其他網站,似乎是指某種“連接超時”,而其他網站則表明它更像是“命令超時

一些快速測試似乎並沒有表明它與命令有任何關係。

任何人都可以確認/參考連接字元串中該值的用途嗎?

編輯這是使用官方 SQLite .NET 庫

我通過查看原始碼發現了這一點:命令的超時值被初始化DefaultTimeout傳遞給內部SQLite3.Prepare函式。

這用於控制自動重試因 Locked 或 Busy 錯誤而失敗的語句的循環。當超時過期(由 衡量Environment.TickCount)時,無論最新的錯誤程式碼是什麼,都會引發異常。否則,它會隨機休眠一段時間(1 到 150 毫秒之間)並再次嘗試。

引用自:https://dba.stackexchange.com/questions/203933