2011-03-30 4 views
2

TADOConnection 클래스를 사용하여 SQL Server 2005 db에 연결합니다.ADO 연결 시간 초과 문제

ConnectionTimeOut : = 5; // 초.

동 기적으로 연결을 시도하는 중입니다.

서버를 사용할 수 있고 실행 중이면 연결 시간 제한이 정상적으로 작동합니다. 서버를 사용할 수 없거나 네트워크 연결이 끊어진 경우 연결을 시도하면 5 초 이상 대기합니다 (20 초).

이 동작에 영향을주기 위해 설정해야하는 속성이나 메서드가 있습니까?

답변

1

아니, 내가 정확한 문제 (D2009, MSSQL2005)을 했어

은 ConnectionTimeout 속성을 설정하기에 충분하지만 (BTW. deafult 값이 나를 위해 잘 작동 TADOConnection.ConnectionTimeout 속성은 15 초입니다). 타임 아웃 분산은 매우 넓기 때문에 5 초 후에 타임 아웃 될 것입니다. 10 초 후 20 초가 지나면 연결 시도에 너무 많은 시간이 걸립니다.

아마 당신은 CommandTimeout에 문제가 있습니다 (연관된 ADO 데이터 세트 구성 요소로 쿼리를 실행하려는 경우). TADOConnection.ConnectionTimeout : = 5를 설정하고 데이터 세트 구성 요소 (예 : TADOQuery.CommandTimeout : = 15이며 쿼리를 실행하려고하면 20 초 후에 시간 초과가 발생합니다. 데이터 소스에 TADOConnection.CommandTimeout를 연결하는 밀리 초 시간 제한 - - 당신이 정말로 쿼리 실행뿐만 아니라 연결 시도에 문제가있는 경우

것은,이 게시물은 당신에게 ADO components CommandTimeout

-2

TADOConnection.ConnectionTimeout 도움이 될 수 밀리 초 타임 아웃 명령을 실행하려면

연결 시도에서 시간 초과 오류가 발생하면 ConnectionTimeout 속성 값을 늘리거나 일부 쿼리를 실행하는 중에 오류가 발생하는 경우 CommandTimeout 속성 값을 늘리십시오.

+2

-1, 처음에는 시간 초과가 초 단위입니다. 다음으로 CommandTimeout은 데이터 집합 구성 요소에서 가져온 것이며 마지막으로 쿼리를 실행하면 ConnectionTimeout + CommandTimeout 다음에 시간 초과가 발생합니다. –