CFStoredProc Timing Out

时间:2013-04-12 13:49:48

标签: coldfusion coldfusion-9 cfstoredproc

我有一个非常基本的应用程序,它将数据插入存储过程,而存储过程又返回一个记录集。我一直在体验我认为的'超时'。但是,我现在不再相信这就是真正发生的事情。原因是DBA和我看了sql server spotlight来查看存储过程何时完成处理。一旦过程完成处理并返回记录集,ColdFusion页面就会返回“超时”错误。每当程序花费超过一分钟时,我发现这是一致的。为了证明这一点,我创建了一个只有这个的存储过程:

BEGIN

  WAITFOR DELAY '00:00:45';
  SELECT TOP 1000 * 
  FROM AnyTableName

END

如果我跑了59秒,我会在ColdFusion中得到一个结果。如果我把它改为一分钟:

WAITFOR DELAY '00:01';

我收到cfstoredproc超时错误。我尝试在同一服务器,不同数据库/数据源上的ColdFusion的不同实例中运行它。现在,奇怪的是,我有其他程序运行超过一分钟并返回结果。我甚至在我的桌面上使用ColdFusion 10尝试了这个并得到了相同的结果。在这一点上,我没有地方可以看,所以我正在寻求其他尝试。我还增加了数据源连接中的超时,但没有帮助。我甚至尝试过具有超时属性的ColdFusion 10,但也没有运气。一致的是查询完成时会显示超时错误。

另外,我尝试在cfquery中添加WAITFOR,但同样的结果发生了。它设置为59秒时工作,但更改为一分钟时超时。我可以更改sql以选择前1,结果没有区别。

2 个答案:

答案 0 :(得分:3)

根据评论,您的请求超时似乎设置为60秒。

使用cfsetting将超时扩展到您需要的任何内容。

<cfsetting requesttimeout = "{numberOfSeconds}">

答案 1 :(得分:0)

所有页面的默认超时为60秒,如果不够,则需要在cfadmin中更改此值,但大多数页面不应该运行这么长时间。 花一些时间熟悉cfadmin及其所有设置,以避免这种头部刮伤。 如上所述,使用cfsetting标签覆盖特定页面。