[SQL] 합니까 끝 가까운 오픈 SQL 연결을 사용하여
SQL합니까 끝 가까운 오픈 SQL 연결을 사용하여
내가 사용에 SQLConnection을 포장하는 경우, 나는 그것을 닫아야 또는 끝 핸들에게 그것을 사용합니까?
using cn as new system.data.sqlclient.sqlconnection()
cn.open
'{do a bunch of other stuff with commands and datareaders here}
cn.close 'Do I need this?
end using
해결법
-
==============================
1.사용하여 블록을 종료하는 것은도록 SqlConnection의 연결 열려있는 모든 자원을 닫습니다 (귀하의 예제에서 CN) 해당 개체에 .Dispose ()를 호출합니다.
사용하여 블록을 종료하는 것은도록 SqlConnection의 연결 열려있는 모든 자원을 닫습니다 (귀하의 예제에서 CN) 해당 개체에 .Dispose ()를 호출합니다.
-
==============================
2.더 정확하게 "사용 안함"으로 기본 물리적 연결을 표시합니다 폐기 또는 닫기를 호출 -하지만하지 않습니다 정말 가까이 그것. 아직 물리적으로 폐쇄되지 않은 "사용 안함"연결 풀링에 따라서 사용할 수 있습니다. 따라서 - 폐기를 호출하면 연결 풀에 연결을 반환합니다.
더 정확하게 "사용 안함"으로 기본 물리적 연결을 표시합니다 폐기 또는 닫기를 호출 -하지만하지 않습니다 정말 가까이 그것. 아직 물리적으로 폐쇄되지 않은 "사용 안함"연결 풀링에 따라서 사용할 수 있습니다. 따라서 - 폐기를 호출하면 연결 풀에 연결을 반환합니다.
-
==============================
3.MSDN에 따르면 당신은 가까운 문을 필요가 없습니다.
MSDN에 따르면 당신은 가까운 문을 필요가 없습니다.
"다음의 예는 디스플레이 속성들을, 그것을 연다하는도록 SqlConnection를 생성한다. 연결은 자동으로 이용 블록의 끝에서 닫힌다." - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx
-
==============================
4.는 SQL의 폐기 방법은 가까운 연결을 수행하는 동안 당신은 거기 닫기에 대한 호출을 떠나야한다 (결국 대린에 따라). 그 이유는 당신이 가까운 전화를 폐기의 기본이되는 구현에 의존 할 것입니다. 또한 닫기없이 열기를 보는 것은 관리되지 않는 언어로 프로그래밍 한 것을 우리의 사람들에 대한 삭제하지 않고 새를 보는 것과 같다. 그것은 나를 위해 코드 냄새입니다.
는 SQL의 폐기 방법은 가까운 연결을 수행하는 동안 당신은 거기 닫기에 대한 호출을 떠나야한다 (결국 대린에 따라). 그 이유는 당신이 가까운 전화를 폐기의 기본이되는 구현에 의존 할 것입니다. 또한 닫기없이 열기를 보는 것은 관리되지 않는 언어로 프로그래밍 한 것을 우리의 사람들에 대한 삭제하지 않고 새를 보는 것과 같다. 그것은 나를 위해 코드 냄새입니다.
-
==============================
5."는 시도처럼 블록 동작합니다을 사용하여 A는 ... 마지막으로 건설하는 Try 블록은 자원을 사용하고 마지막으로 그들의 처분하는 차단합니다. 이로 사용하여 블록 자원, 당신은 블록을 종료하는 방법에 상관없이 처분을 보장하기 때문에. 이것은있는 StackOverflowException을 제외하고도 처리되지 않은 예외의 경우 사실이다. " https://msdn.microsoft.com/en-us/library/htd05whh.aspx
"는 시도처럼 블록 동작합니다을 사용하여 A는 ... 마지막으로 건설하는 Try 블록은 자원을 사용하고 마지막으로 그들의 처분하는 차단합니다. 이로 사용하여 블록 자원, 당신은 블록을 종료하는 방법에 상관없이 처분을 보장하기 때문에. 이것은있는 StackOverflowException을 제외하고도 처리되지 않은 예외의 경우 사실이다. " https://msdn.microsoft.com/en-us/library/htd05whh.aspx
-
==============================
6.사용하여 마지막으로 / 시도하는 단지 속기이다. 이것은 당신이 무엇을 게시에 equivilent 코드
사용하여 마지막으로 / 시도하는 단지 속기이다. 이것은 당신이 무엇을 게시에 equivilent 코드
Try SqlConnection cn as new system.data.sqlclient.sqlconnection() cn.open '{do a bunch of other stuff with commands and datareaders here} cn.close 'Do I need this? Finally cn.Dispose() End Try
폐기는 그것을 닫습니다 연결의 경우, 모든 자원의 정리 돌볼 예정이다.
from https://stackoverflow.com/questions/376068/does-end-using-close-an-open-sql-connection by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 ResultSet의 자바 폐쇄 예외는 피할 수있다? (0) | 2020.05.02 |
---|---|
[SQL] 선택하지 않고 직접 업데이 트를 생성하기 위해 LINQ를 사용하여 (0) | 2020.05.02 |
[SQL] MySQL은 오라클의 "분석 기능"에 해당이 있습니까? (0) | 2020.05.02 |
[SQL] T-SQL은 어떻게 저장 프로 시저에서 동적으로 테이블을 만드는 방법? (0) | 2020.05.02 |
[SQL] SQL Server와 같은 패턴 "전체 단어 일치"검색 (0) | 2020.05.02 |