我收到一条错误消息:
System.Data.SqlClient.SqlException: 超时已过期。
我已将此追溯到命令超时,默认情况下设置为30秒。当然,在分析时,在点上完成(失败)30秒。
简单的答案是增加代码中的CommandTimeout
值。这是捕获 - 我只有一个可执行文件。
正在运行的查询是一个存储过程,通常在18-26秒之间运行,最近已经升级到30+秒范围内。我已尽我所能来优化查询,这是一个带有连接的三个表上的单个丑陋选择。这不是一个真正的选择,因为数据集将继续增长,并且将来会再次出现问题。
我可以在这里和网上的其他地方找到的所有建议都表示,在建立连接后,代码中只能设置CommandTimeout
的唯一位置,并且没有其他方法可以调整命令超时。
我准备开始反编译可执行文件以尝试覆盖/设置命令超时的默认值..
有关如何以非编程方式增加命令超时值的任何建议,轻松设置命令Timeout值或其他(希望)更明智的解决方案?
感谢您的帮助!
ps - 我已经读了很长时间了。我的声誉很臭,因为我总能找到答案,而不必发帖。你们真棒,我很高兴我终于找到了开始的方法!答案 0 :(得分:2)
您可以更改命令超时的唯一方法是更新代码,如果您没有应用程序的来源我很遗憾地说您几乎没有运气。
这是一个逐个命令设置的值,因此命令外部的任何内容都不会影响它。