ИСПРАВЛЕНИЕ: Периодически с ADO.NET

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

Проблема

В ADO.NET приложения периодически появляется следующее сообщение об ошибке исключения:
System.ArgumentOutOfRangeException: Индекс находился вне допустимого диапазона. Должно быть положительным и меньше, чем размер коллекции. Имя параметра: индекс

Причина

Сообщение об ошибке появляется при создании или уничтожать объекты, связанные с набором данных (таких как Объект DataView объект) в обработчик события Набор данных Объект, или в объект, связанный с Набор данных объект. Например эта ошибка была воспроизведена в приложении, которое содержит элемент управления сетки, создание дочерних Объект DataView объекты в ListChanged обработчик событий для сетки. Это позволяет внутреннее состояние основного Набор данных Объект, чтобы изменить во время выполнения операции, где он должен оставаться.

Решение

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

Чтобы решить проблему немедленно, обратитесь в службу технической поддержки корпорации Майкрософт для получения исправления. Полный список телефонов службы поддержки продуктов Майкрософт и сведения о стоимости поддержки посетите следующий веб-узел корпорации Майкрософт:
http://support.Microsoft.com/contactus/?ws=Support
Примечание В особых случаях, предусмотренная для звонков в службу поддержки может быть отменена, если специалистом службы поддержки Майкрософт определяет, что решения проблемы является специально выпущенное. Затраты на обычные службы поддержки будут применяться дополнительные вопросы и проблемы, которые не соответствуют требованиям особым обновлением.Английская версия данного исправления содержит версии файлов (или более поздней версии), приведенные в следующей таблице. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс вкладку Дата и время на панели управления.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   02-Mar-2004  18:39  1.1.4322.1007   1,294,336  System.data.dll                                             

Временное решение

Не создает и не удаляет объекты, связанные с набором данных (таких как Объект DataView объект) внутри обработчика событий для Набор данных объект.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к» данной статьи.
Стек вызова для этого исключения зависит от функциональности приложения и точную причину ошибки. Ниже приведены два примера, которые произошли при дочерний Объект DataView для создания объектов в ListChanged обработчик событий для элемента управления:

Пример стека вызовов 1

System.Collections.ArrayList.get_Item(Int32 index)
Sstem.Data.DataTable.RecordStateChanged(Int32 record1, DataViewRowState oldState1, DataViewRowState newState1, Int32 record2, DataViewRowState oldState2, DataViewRowState newState2)
System.Data.DataTable.SetNewRecord(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge)
System.Data.DataRow.EndEdit()
System.Data.DataRow.set_Item(DataColumn column, Object value)
System.Data.DataRow.set_Item(String columnName, Object value)

Пример стека вызовов 2

System.Collections.ArrayList.get_Item(Int32 index)
System.Data.DataTable.ResetIndexes()
System.Data.Merger.MergeTable(DataTable src, DataTable dst)
System.Data.Merger.MergeTableData(DataTable src)
System.Data.Merger.MergeDataSet(DataSet source)
System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction)

Примечание Они являются лишь примерами и не только стеки вызовов, которые могут возникнуть с этой ошибкой.

Ссылки

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт
Для получения дополнительных сведений о подобное исключение, которое происходит с более ранней версии ADO.NET, щелкните следующий номер статьи базы знаний Майкрософт:
332215ИСПРАВЛЕНИЕ: "System.ArgumentOutOfRangeException: Индекс находился вне диапазона" произошла ошибка с SqlClient.SqlConnection.Open()
Примечание Исправление статье Microsoft Knowledge Base 332215 уже включено в.NET Framework версии 1.1.

Свойства

Код статьи: 836874 - Последний отзыв: 16 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ADO.NET 1.1
Ключевые слова: 
kbhotfixserver kbqfe kbmt KB836874 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:836874
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

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

 

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