1

我有一个非常基本的应用程序,它将数据插入存储过程,然后返回一个记录集。我一直在经历我认为的“超时”。然而,我现在不再相信这就是真正发生的事情。原因是 DBA 和我观察了 sql server 的聚光灯,以查看存储过程何时完成处理。一旦该过程完成处理并返回一个记录集,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,但也没有运气。一致的是查询完成时显示超时错误。

另外,我尝试添加 WAITFORcfquery并发生相同的结果。它在设置为 59 秒时有效,但在更改为一分钟时超时。我可以更改sql以选择top 1,结果没有区别。

4

2 回答 2

3

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

使用cfsetting将超时时间延长到您需要的任何时间。

<cfsetting requesttimeout = "{numberOfSeconds}">
于 2013-04-12T19:16:45.743 回答
0

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

于 2013-04-13T13:51:24.540 回答