错误:超时已过期。操作完成之前经过的超时时间或服务器没有响应

时间:2011-07-28 19:17:06

标签: .net sql-server sql-server-2005

我正在使用的环境是:.NET(2.0)和SQL Server 2005。

方案:在.NET表单中,系统会提示用户提供两个将提供给SQL Server中的存储过程的变量。从存储过程返回记录后,.NET应用程序会将这些记录导入.csv文件。

这里的诀窍是存储过程是动态的。返回的记录并不总是相同的列或填充相同的临时表。当存储过程在不到30秒的时间内运行时,.NET应用程序就可以运行。

我已经在我的应用程序中增加了conn.CommandTimeout = 6000,并且我已经将SQL Server中的“远程查询连接”增加到6000,但是对于运行时间超过30秒的变量,它仍然失败。

非常感谢任何建议。

由于 Chaydee

1 个答案:

答案 0 :(得分:0)

这可能是因为您在连接上设置命令超时而不是命令对象本身。无法看到您的代码,但如果您正在使用DataReader,DataAdapter等尝试在这些对象上设置CommandTimeout。其他一些可能性:

  1. 在运行查询之前超过了连接超时。不太可能,但仍然是什么是连接超时?它应该是> = any CommandTimeout。
  2. 没有执行CommandTimeout调用。
  3. 其他内容稍后会覆盖CommandTimeout调用。