我有一个非常基本的应用程序,它将数据插入存储过程,然后返回一个记录集。我一直在经历我认为的“超时”。然而,我现在不再相信这就是真正发生的事情。原因是 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,结果没有区别。