필자는 레코드 집합을 반환하는 저장 프로 시저에 데이터를 연결하는 매우 기본적인 응용 프로그램을 가지고 있습니다. 나는 '타임 아웃'이라고 생각했던 것을 경험해왔다. 그러나, 나는 이제 이것이 실제로 일어나고 있음을 더 이상 확신하지 못했습니다. 그 이유는 DBA와 SQL Server가 스토어드 프로 시저가 처리를 마칠 때 스포트라이트를 보았 기 때문입니다. 프로 시저가 처리를 끝내고 레코드 세트를 반환하자마자 ColdFusion 페이지가 '시간 초과'오류를 반환했습니다. 나는이 절차가 1 분보다 오래 걸릴 때마다 일관성이 있음을 발견하고 있습니다. 내가에서는 ColdFusion에서 다시 결과를 얻을 59초 그것을 실행하는 경우CFStoredProc Timing Out
BEGIN
WAITFOR DELAY '00:00:45';
SELECT TOP 1000 *
FROM AnyTableName
END
이를 증명하기 위해,이보다 더 아무것도 저장 프로 시저를 만들었습니다. 나는 1 분을 변경하는 경우 :
WAITFOR DELAY '00:01';
나는 cfstoredproc
시간 초과 오류가 발생합니다. 나는 ColdFusion의 다른 인스턴스에서 동일한 서버, 다른 데이터베이스/데이터 소스에서이 작업을 실행 해 보았습니다. 이제 이상한 점은 1 분 이상 실행되어 결과를 반환하는 다른 절차가 있다는 것입니다. 필자는 ColdFusion 10을 사용하여 데스크탑에서 로컬로이 작업을 시도해 본 결과 동일한 결과를 얻었습니다. 이 시점에서 나는 외모가 없어서 다른 것들을 시도하고 있습니다. 나는 또한 데이터 소스 연결 시간 제한을 늘 렸는데 도움이되지 못했습니다. 나는 심지어 ColdFusion 10을 timeout 속성으로 시도했지만 거기에는 운이 없었습니다. 일관성있는 것은 쿼리가 완료 될 때 제한 시간 오류가 표시된다는 것입니다.
또한 WAITFOR를 cfquery
에 추가하려고 시도했지만 동일한 결과가 발생했습니다. 59 초로 설정하면 작동하지만 1 분으로 바뀌면 시간 초과되었습니다. SQL을 상위 1을 선택하도록 변경할 수 있으며 결과에 차이가 없습니다.
cfsetting을 사용하여 페이지 시간 제한을 연장 해 보셨습니까? '' –
Travis
ColdFusion Administrator에서 해당 데이터 소스에 대한 쿼리 시간 초과 설정은 무엇입니까? 이전 버전의 ColdFusion에서는 cfquery 태그의 시간 초과 설정이 실제로 작동하지 않는다고 생각합니다. 글쎄, 당신이 설명하는대로 작동했습니다. 태그는 데이터베이스 서버가 응답 (좋거나 나쁨) 할 때까지 대기 한 다음 시간 초과를 발생시킵니다. 관리자의 datasource timeout 설정으로이를 해결할 수 있습니다. 이것을보십시오 : [CF9 (and 9.0.1)의 새로운 기능 : 실제 작동하는 질의 타임 아웃] (http://www.carehart.org/blog/client/index.cfm/2010/7/14/) hidden_gem_in_cf9_admin_querytimeout). –
ㅎ, 나는 그것을 읽었던 것을 기억한다. 꽤됐다. – Travis