Исправление: Сообщение об ошибке, когда приложения вызывают несколько SqlConnection.Open методы или методы OracleConnection.Open через несколько потоков, в то же время, в ADO.NET 2.0 приложения: "IndexOutOfRangeException"

Переводы статьи Переводы статьи
Код статьи: 948176 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При наличии приложения, вызывающие несколькоSqlConnection.Openметоды илиOracleConnection.Openметоды через несколько потоков, в то же время, в ADO.NET 2.0 корпорации Майкрософт, может появиться следующее сообщение об ошибке:
System.IndexOutOfRangeException: Индекс находился вне границ массива.
Кроме того, создается файл дампа памяти в SQL папки журнала сервера.

Решение

Сведения об исправлении

Эта проблема может быть решена с помощью исправления, специально выпущенного корпорацией Майкрософт.. однако оно предназначено только для устранения проблемы, описанной в данной статье.. Предлагаемое исправление должно применяться исключительно в системах, где наблюдается описанная проблема.. Исправление может подвергаться дополнительному тестированию.. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления следующего Microsoft .NET Framework 2.0, содержащего это исправление.

Чтобы получить данное исправление и решить проблему немедленно, обратитесь в службу поддержки пользователей Майкрософт.. Полный список телефонов службы поддержки пользователей корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-узел корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=support
Примечание.В отдельных случаях, если специалистом службы технической поддержки Майкрософт будет определено, что решением проблемы является специально выпущенное исправление, оплата, предусмотренная за обращение в службы технической поддержки, может быть отменена.. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются на стандартных условиях..

Предвартельные требования

Для установки этого исправления необходимо установить .NET Framework 2.0.

Необходимость перезагрузки

После установки исправления перезагружать компьютер не требуется..

Сведения о заменяемых исправлениях

Это исправление не заменяет других исправлений..

СВЕДЕНИЯ О ФАЙЛАХ

Английская версия исправления содержит версии файлов, приведенные в следующей таблице (или более поздние).. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясна вкладкеДата и времяэлемент управления панели.
.NET Framework 2.0, x 86 выпуска
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
System.data.dll2.0.50727.18132,998,27205 Февраля 2008 г.04: 49X86
System.data.oracleclient.dll2.0.50727.1813484,35205 Февраля 2008 г.04: 49X86
.NET Framework 2.0, 64-разрядная версия
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
System.data.dll2.0.50727.18103,113,47214 Января 2008 г.23: 36X64
System.data.dll2.0.50727.18132,998,27205 Февраля 2008 г.04: 49X86
System.data.oracleclient.dll2.0.50727.1810499,71214 Января 2008 г.23: 36X64
System.data.oracleclient.dll2.0.50727.1813484,35205 Февраля 2008 г.04: 49X86
.NET Framework 2.0, версия IA-64
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
System.data.dll2.0.50727.18133,208,19205 Февраля 2008 г.01: 25IA-64
System.data.dll2.0.50727.18132,998,27205 Февраля 2008 г.04: 49X86
System.data.oracleclient.dll2.0.50727.1813503,80805 Февраля 2008 г.01: 25IA-64
System.data.oracleclient.dll2.0.50727.1813484,35205 Февраля 2008 г.04: 49X86

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Дополнительная информация

При возникновении этой проблемы, создается один из следующих стеков вызовов.

Стек вызовов 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 - Последний отзыв: 28 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 2.0 IA64 Edition
  • Microsoft .NET Framework 2.0 x64 Edition
Ключевые слова: 
kbautohotfix kbexpertiseinter kbhotfixserver kbqfe kbmt KB948176 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:948176

Отправить отзыв

 

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