2011-02-26 46 views
1

我收到一条错误消息:的SQL Server命令超时 - 可执行文件只

System.Data.SqlClient.SqlException: 超时过期。

我追溯到默认设置为30秒的命令超时。果然,在配置文件时,在点上30秒完成(失败)。

简单的答案是增加代码中的CommandTimeout值。这里有一个问题 - 我只有一个可执行文件可以使用。

正在运行的查询是一个存储过程,通常在18-26秒之间运行,最近一直在碰撞到30+秒范围内。我尽我所能来优化查询,这是一个单一的丑陋选择三个连接表上的选择。无论如何,这并不是一个真正的选择,因为数据集将继续增长并且将来会再次成为问题。

我在这里和网上其他地方可以找到的所有建议都说只能在代码设置后CommandTimeout在连接建立后的代码中,并且没有其他方法可以调整命令超时。

我即将准备开始反编译可执行文件,试图重写/设置命令超时默认值..

如何,我可以不通过编程将命令超时值,得到什么建议命令超时值设置容易或其他(希望)更合理的解决方案?

感谢您的帮助!

ps - 我已经读了很长一段时间了。我的声誉很臭,因为我总是找到答案而无需发布。你们真棒,我很高兴我终于找到了一种开始的方式!

回答

2

您可以更改命令超时的唯一方法是更新代码,如果您没有应用程序的源代码,那么我很遗憾地说您几乎没有运气。

这是一个按命令设置的值,因此命令外部的任何内容都不会影响它。

+0

谢谢米切尔 - 我害怕这一点。感谢您的快速回复。 – 2011-02-26 04:50:18