FIX: ADO.NET 2.0 응용 프로그램에서 동시에 여러 SqlConnection.Open 메서드 또는 OracleConnection.Open 메서드를 통해 다중 스레드 응용 프로그램을 호출할 때 오류 메시지: "IndexOutOfRangeException"

기술 자료 번역 기술 자료 번역
기술 자료: 948176 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft ADO.NET 2 .0의 동시에 여러 SqlConnection.Open 메서드 또는 여러 스레드를 통해 OracleConnection.Open 메서드를 호출하는 응용 프로그램의 경우 다음과 같은 오류 메시지가 나타날 수 있습니다.
System.IndexOutOfRangeException: 인덱스 배열의 범위를 벗어난 것입니다.
SQL을 덤프 파일을 생성하는 또한 서버 로그 폴더.

해결 방법

핫픽스 정보

Microsoft로부터 지원되는 핫픽스를 사용하실 수 있습니다. 그러나 문제가 있는 이 문서에서 설명하는 경우에만 해결하기 위해 설계되었습니다. 이러한 특정 문제가 발생하는 시스템에만 적용하십시오. 이 핫픽스는 나중에 추가 테스트를 받아야 할 수도 있습니다. 따라서 이 문제의 영향이 심각하지 않으면 이 핫픽스가 포함된 다음 다음 다음 Microsoft .NET Framework 2.0 서비스 팩이 나올 때까지 기다리는 것이 좋습니다.

이 문제를 즉시 해결하려면 핫픽스를 구하려면 Microsoft 고객 지원 서비스에 문의하십시오. Microsoft 고객 지원 센터 전화 번호 및 지원 비용에 대한 정보를 전체 목록은 다음 Microsoft 웹 사이트를 방문하십시오.
http://support.microsoft.com/contactus/?ws=support
참고 Microsoft 기술 지원 전문가가 특정 업데이트로 문제를 해결할 수 있다고 판단하는 경우, 일반적으로 지원 호출에 발생하는 비용이 취소될 수 있습니다. 추가 지원 질문과 문제에는 특정 업데이트가 필요하지 않은 지원 비용이 적용됩니다.

전제 조건

이 핫픽스를 적용하려면 .NET Framework 2.0 설치되어 있어야 합니다.

재시작 요구 사항

이 핫픽스를 적용한 후에는 컴퓨터를 다시 시작할 필요가 없습니다.

핫픽스 대체 정보

이 핫픽스는 다른 핫픽스를 대체하지 않습니다.

파일 정보

이 핫픽스의 영어 버전은 다음 표에 나열된 파일 특성(또는 그 이후의 파일 특성)이 있습니다. 이러한 파일의 시간과 날짜는 UTC (협정 세계시) 로 나열됩니다. 파일 정보에서는 현지 시간으로 변환됩니다. UTC와 로컬 시간의 차이를 알려면 제어판의 날짜 및 시간 항목에서 표준 시간대 탭을 사용하십시오.
.NET Framework 2.0 x 86 버전
표 축소표 확대
파일 이름파일 버전파일 크기날짜시간플랫폼
System.data.dll2.0.50727.18132,998,2722008-Feb-0504: 49x 86
System.data.oracleclient.dll2.0.50727.1813484,3522008-Feb-0504: 49x 86
.NET Framework 2.0 x 64 버전
표 축소표 확대
파일 이름파일 버전파일 크기날짜시간플랫폼
System.data.dll2.0.50727.18103,113,4722008-Jan-1423:36x 64
System.data.dll2.0.50727.18132,998,2722008-Feb-0504: 49x 86
System.data.oracleclient.dll2.0.50727.1810499,7122008-Jan-1423:36x 64
System.data.oracleclient.dll2.0.50727.1813484,3522008-Feb-0504: 49x 86
.NET Framework 2.0 버전 IA-64
표 축소표 확대
파일 이름파일 버전파일 크기날짜시간플랫폼
System.data.dll2.0.50727.18133,208,1922008-Feb-0501: 25IA-64
System.data.dll2.0.50727.18132,998,2722008-Feb-0504: 49x 86
System.data.oracleclient.dll2.0.50727.1813503,8082008-Feb-0501: 25IA-64
System.data.oracleclient.dll2.0.50727.1813484,3522008-Feb-0504: 49x 86

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

추가 정보

이 문제가 발생하면 다음 호출 스택 중 하나가 생성됩니다.

호출 스택 1

(System.IndexOutOfRangeException: Index was outside the bounds of the array. 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open() 

호출 스택 2

(System.IndexOutOfRangeException: Index was outside the bounds of the array. 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open()

호출 스택의 3

(System.IndexOutOfRangeException: Index was outside the bounds of the array. 
at SNINativeMethodWrapper.SNISecGenClientContext(SafeHandle pConnectionObject, Byte[] inBuff, UInt32 receivedLength, Byte[] OutBuff, UInt32& sendLength, Byte[] serverUserName) 
at System.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[] sendBuff, UInt32& sendLength) 
at System.Data.SqlClient.TdsParser.TdsLogin(SqlLogin rec) 
at System.Data.SqlClient.SqlInternalConnectionTds.Login(Int64 timerExpire, String newPassword) 
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open() 

호출 스택의 4

(System.IndexOutOfRangeException: Index was outside the bounds of the array. 
at SNINativeMethodWrapper.SNIOpenEx(ConsumerInfo consumerInfo, String constring, IntPtr& pConn, Boolean fInitSec, Byte[] sspiBuffer, Byte[] instanceName, Boolean fOverrideCache, Boolean fSync) 
at System.Data.SqlClient.SNIHandle..ctor(ConsumerInfo myInfo, String serverName, Boolean integratedSecurity, Byte[] serverUserName, Byte[]& instanceName, Boolean flushCache, Boolean fSync) 
at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) 
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open()

속성

기술 자료: 948176 - 마지막 검토: 2008년 4월 9일 수요일 - 수정: 1.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 2.0 IA64 Edition
  • Microsoft .NET Framework 2.0 x64 Edition
키워드:?
kbmt kbautohotfix kbexpertiseinter kbhotfixserver kbqfe KB948176 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