私は、レコードセットを返すストアド プロシージャにデータをプラグインする非常に基本的なアプリを持っています。私は「タイムアウト」と思っていたものを経験しています。しかし、これが実際に起こっていることであるとは、もはや確信が持てません。その理由は、DBA と私が SQL Server スポットライトを見て、ストアド プロシージャの処理がいつ終了したかを確認したからです。プロシージャが処理を終了してレコードセットを返すとすぐに、ColdFusion ページが「タイムアウト」エラーを返しました。手順に1分以上かかる場合は常に、これが一貫していることがわかります。これを証明するために、私はこれ以上のストアド プロシージャを作成しました。
BEGIN
WAITFOR DELAY '00:00:45';
SELECT TOP 1000 *
FROM AnyTableName
END
59 秒間実行すると、ColdFusion に結果が返されます。1 分に変更すると、次のようになります。
WAITFOR DELAY '00:01';
cfstoredproc
タイムアウト エラーが発生します。同じサーバー、異なるデータベース/データソース上の ColdFusion の異なるインスタンスでこれを実行しようとしました。さて、奇妙なのは、1 分以上実行して結果を返す他のプロシージャがあることです。ColdFusion 10 を使用してデスクトップでローカルにこれを試しても、同じ結果が得られました。この時点で、探す場所がなくなったので、他のことを試すために手を差し伸べています. データソース接続のタイムアウトも増やしましたが、役に立ちませんでした。タイムアウト属性を使用して ColdFusion 10 を試してみましたが、運もありませんでした。一貫しているのは、クエリが完了するとタイムアウト エラーが表示されることです。
また、WAITFOR を追加してみましたがcfquery
、同じ結果になりました。59 秒に設定すると機能しましたが、1 分に変更するとタイムアウトしました。トップ1を選択するようにSQLを変更できますが、結果に違いはありません。