我收到一条错误消息:
System.Data.SqlClient.SqlException:超时已过期。
我已经将此追溯到默认设置为 30 秒的命令超时。果然,当分析时,在 30 秒时完成(失败)。
简单的答案是增加CommandTimeout
代码中的值。这是一个问题 - 我只有一个可执行文件可以使用。
正在运行的查询是一个存储过程,通常在 18 到 26 秒之间运行,最近已经达到 30 多秒的范围。我已经尽我所能来优化查询,这是在三个带有连接的表上的一个丑陋的选择。无论如何,这并不是一个真正的选择,因为数据集将继续增长,并且将来会再次成为问题。
我可以在网上和其他地方找到的所有建议都说,唯一CommandTimeout
可以设置的地方是在连接建立后的代码中,没有其他方法可以调整命令超时。
我准备开始反编译可执行文件以尝试覆盖/设置命令超时的默认值..
关于如何以非编程方式增加命令超时值、轻松设置命令超时值或其他(希望)更明智的解决方案的任何建议?
谢谢你的帮助!
ps - 我已经读了很长一段时间了。我的名声很臭,因为我总是不用发帖就能找到答案。你们太棒了,我很高兴我终于找到了开始的方法!