Development Tip

SqlCommand.CommandTimeout과 SqlConnection.ConnectionTimeout의 차이점은 무엇입니까?

yourdevel 2020. 10. 9. 12:30
반응형

SqlCommand.CommandTimeout과 SqlConnection.ConnectionTimeout의 차이점은 무엇입니까?


.NET SqlCommand.CommandTimeout사이에 차이점이 SqlConnection.ConnectionTimeout있습니까?


예. CommandTimeout단일 명령을 완료하는 데 걸리는 시간입니다. ConnectionTimeout시작하기 위해 서버에 연결하는 데 걸리는 시간입니다.

예를 들어 상대적으로 오래 실행되는 쿼리를 실행하고있을 수 있습니다. 완료하는 데 10 분이 걸리는 것은 괜찮지 만 연결을 시작하는 데 10 분이 걸린다면 무언가 잘못되었다는 것을 알 수 있습니다.


SqlCommand.CommandTimeout = SQL 쿼리에 대한 제한 시간입니다. (예 : SELECT, UPDATE) 쿼리가 실행되는 데 걸리는 시간을 의미합니다. SqlCommand.CommandTimeout을 초과하면 실행을 중지합니다. 명령 시간 초과 오류가 발생합니다.

SqlConnection.ConnectionTimeout = 연결 시간 제한. 연결 개체가 연결을 시도 할 수있는 시간을 의미합니다. 지정된 시간을 초과하면 연결이 중지됩니다. 연결 시간 초과 오류가 발생합니다.


ConnectionTimeout지정 기간은 시도 할 때 시간이 초과되기까지의 대기 SqlConnection. Connection.Open()명령 과 관련이 있습니다.

동안

SqlCommand.CommandTimeout시간이 초과되기 전에 SqlCommand가 대기하는 기간을 지정했습니다. 이것은 연결이 열리고 ExecuteXXXCommand 개체에서 메서드 중 하나 가 호출 된 후에 발생합니다.


추가 정보

기본값 CommandTimeout은 30 초입니다. 0은 제한이 없음을 나타냅니다. CommandTimeoutCoding에서만 값을 설정할 수 있습니다 .

기본값 ConnectiontTimeout은 15 초입니다. Zero (0)도 제한이 없음을 나타냅니다. 0보다 작은 값 (마이너스 값)은를 얻습니다 ArgumentException. ConnectionTimeoutCoding 및 Config 파일 모두에서 값을 설정할 수 있습니다 .


select @@LOCK_TIMEOUT //get the TIMEOUT,default is -1
set LOCK_TIMEOUT = 600//set TIMEOUT with ms

참고 URL : https://stackoverflow.com/questions/847264/what-is-the-difference-between-sqlcommand-commandtimeout-and-sqlconnection-conne

반응형