我认为我的 SQLite 连接遇到了数据库连接超时,但我不确定如何增加连接超时。可以使用 ConnectionString.DefaultTimeout 设置命令超时,但 Connection.ConnectionTimout 是只读的。有什么建议么?
谢谢,布赖恩
我认为我的 SQLite 连接遇到了数据库连接超时,但我不确定如何增加连接超时。可以使用 ConnectionString.DefaultTimeout 设置命令超时,但 Connection.ConnectionTimout 是只读的。有什么建议么?
谢谢,布赖恩
超过 SQLite 查询的默认超时(30 秒)强烈表明您的方法有问题。
当并发连接过多时,通常会发生超时。当您有交错的写入/读取事务时,SQLite 表现不佳。
确保在单个事务中分块相关的 SQL 语句(性能提升可能是 x1000!)。
另一个提示:默认情况下 - 当您启动事务 (BeginTransaction) - 默认行为是立即获得写锁。尝试改用 BeginTransaction(defered) 版本,并指定您希望延迟获取写锁,直到实际需要它。如果有多个阅读器,这将对您有所帮助,因为现在它们将能够同时运行。
它在连接字符串中设置:SqlConnection