FIX: 스레드 중단 SqlCommand.ExecuteReader 동안 SqlConnection 풀을 손상시킵니다.

기술 자료 번역 기술 자료 번역
기술 자료: 319345 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

다음 조건에 해당하는 경우:
  • SqlClient.SqlCommand.ExecuteReader 메서드를 다중 스레드 .NET 응용 프로그램에서 사용하는 장기 실행 쿼리가 중단되었습니다.
  • 스레드 이후에는 동일한 연결 문자열을 사용하여 SqlClient.SqlCommand.ExecuteReader 사용하여 데이터 읽기를 시도합니다.
다음과 같은 오류 메시지가 나타납니다.
System.InvalidOperationException: 은 이미 먼저 닫아야 이 연결로 연결된 열린 DataReader입니다.
호출 스택에 다음과 같이 나타날 수 있습니다.
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
					

원인

DataReader 개체를 상호 작용하는 스레드가 중단되면 정리 코드를 포함하는 SqlClient.SqlConnection.Close 메서드가 호출되지 않으므로 연결은 제대로 정리할 수 없습니다. 이 연결을 미정인 상태로 유지하고 결국 연결 풀을 사용할 수 없는 상태가 됩니다.

해결 방법

이 문제를 해결하려면 Microsoft .NET Framework에 대한 최신 서비스 팩을 구하십시오. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
318836최신 .NET Framework 서비스 팩을 구하는 방법
이 수정의 영어 버전은 다음 파일 특성을 가집니다 또는 나중에:
   Date            Version                                 Size              File name     
   --------------------------------------------------------------------
   05-Mar-2002     1.0.3705.211    1,175,552 bytes   System.data.dll
   29-Jan-2002                                  1,831,936 bytes   NDP10U318609.msp
				

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제는 Microsoft .NET 수정되었습니다 Framework 서비스 팩 2 (SP2).

속성

기술 자료: 319345 - 마지막 검토: 2014년 2월 2일 일요일 - 수정: 5.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ADO.NET 1.0
키워드:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbnetframe100presp2fix kbnetframe100sp2fix KB319345 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com