我查看了 SQLite 文档,但找不到任何关于“默认超时”值的明确信息。
查看其他网站,似乎是指某种“连接超时”,而其他网站则表明它更像是“命令超时”
一些快速测试似乎并没有表明它与命令有任何关系。
任何人都可以确认/参考连接字符串中该值的用途吗?
编辑这是使用官方 SQLite .NET 库
我查看了 SQLite 文档,但找不到任何关于“默认超时”值的明确信息。
查看其他网站,似乎是指某种“连接超时”,而其他网站则表明它更像是“命令超时”
一些快速测试似乎并没有表明它与命令有任何关系。
任何人都可以确认/参考连接字符串中该值的用途吗?
编辑这是使用官方 SQLite .NET 库
我通过查看源代码发现了这一点:命令的超时值被初始化
DefaultTimeout
并传递给内部SQLite3.Prepare函数。这用于控制自动重试因 Locked 或 Busy 错误而失败的语句的循环。当超时过期(由 衡量
Environment.TickCount
)时,无论最新的错误代码是什么,都会引发异常。否则,它会随机休眠一段时间(1 到 150 毫秒)并重试。