Симптоми
Имайте предвид сценария, описан по-долу:
- Имате инсталирани Master Data Services (MDS) за Microsoft SQL Server 2012 или SQL Server 2014.
- Създайте обект, който има 100 членове и с отметната опция "Автоматично създаване на стойности на код".
- В MDS Explorer обектът има две страници с членове, като броят на членовете на страница е равен на размера на страницата в мрежата (по подразбиране е 50).
Сценарий 1:
Щракнете върху бутона "Добавяне на член " на страница 1, въведете необходимите данни, за да добавите новия член, и след това щракнете върху бутона "Следваща страница ". Страница 3 се създава и получавате следните грешки:
Забележка
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Аргументи:
Низовете на ресурсите за отстраняване на грешки са недостъпни. Често ключът и аргументите предоставят достатъчно информация за диагностициране на проблема. Вижте http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&file=mscorlib.dll&key=ArgumentOutOfRange_Index
Име на параметър: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
в System.Collections.Generic.List'1.get_Item(Int32 индекс)
в System.Collections.ObjectModel.Collection'1.get_Item(индекс Int32)
в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
в System.Windows.Controls.DataForm.get_ItemsCount()
в System.Windows.Controls.DataForm.SetCanMoveToLastItem()
в System.Windows.Controls.DataForm.SetAllCanProperties()
в System.Windows.Controls.DataForm.SetIsItemValid()
at System.Windows.Controls.DataForm.GenerateUI(Boolean clearEntityErrors, Boolean swapOldAndNew)
в System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
в System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
в System.Windows.DependencyObject.UpdateEffectiveValue(свойство DependencyProperty, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, операция ValueOperation)
at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter)
в System.Windows.Controls.DataForm.UpdateCurrentItem()
в System.Windows.Controls.DataForm.<SetUpCollectionView>b__8(екземпляр на DataForm, източник на обект, EventArgs eventArgs)
at System.Windows.Controls.WeakEventListener'3.OnEvent(TSource source, TEventArgs eventArgs)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.OnCurrentChanged()
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentToPosition(Int32 position)
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentTo(Object item)
на Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem(стойност на члена)
at Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems()
в Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded(Object sender, EventArgs e)
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh()
в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage(Int32 pageIndex)
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage()
в System.Windows.Controls.DataPager.PageMoveHandler(Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation)
at System.Windows.Controls.DataPager.OnNextPageButtonBaseClick(Object sender, RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
в MS. Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 флагове)
Сценарий 2:
Щракнете върху бутона "Добавяне на член " на страница 2, за да накарате Explorer да добави нова страница. След това се създава страница 3 и получавате следните грешки:
Забележка
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Аргументи:
Низовете на ресурсите за отстраняване на грешки са недостъпни. Често ключът и аргументите предоставят достатъчно информация за диагностициране на проблема. Вижте http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&file=mscorlib.dll&key=ArgumentOutOfRange_Index
Име на параметър: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
в System.Collections.Generic.List'1.get_Item(Int32 индекс)
в System.Collections.ObjectModel.Collection'1.get_Item(индекс Int32)
в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
в System.Windows.Controls.DataForm.get_ItemsCount()
в System.Windows.Controls.DataForm.SetCanMoveToLastItem()
в System.Windows.Controls.DataForm.SetAllCanProperties()
в System.Windows.Controls.DataForm.<SetUpCollectionView>b__a(екземпляр на DataForm, източник на обект, NotifyCollectionChangedEventArgs eventArgs)
at System.Windows.Controls.WeakEventListener'3.OnEvent(TSource source, TEventArgs eventArgs)
в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler(Object sender, NotifyCollectionChangedEventArgs e)
в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
в System.Collections.ObjectModel.ObservableCollection'1.InsertItem(индекс Int32, T елемент)
at System.Collections.ObjectModel.Collection'1.Insert(Int32 индекс, T елемент)
в Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection(GUID requestId, EntityMembersGetResponse response, Exception ex)
в Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.<>c__DisplayClass16'2.<ExecuteRequest>b__15(Object sender, RequestCompletedEventArgs'1 e)
at Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted(Object state)
Решение
Проблемът е коригиран за първи път в следващата кумулативна актуализация на SQL Server.
Сборна актуализация 1 за SQL Server 2014 г. /bg-bg/help/2931693
Сборна актуализация 9 за SQL Server 2012 SP1 /en-us/help/2931078
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Повече информация
След като инсталирането приключи, трябва да отворите Конфигурационен диспечер на Master Data Services, за да можете да надстроите MDS базата данни.
- Щракнете върху "Бази данни" и след това щракнете върху "Избор на база данни".
- Свържете се към базата данни, която искате да надстроите. Когато базата данни е избрана, получавате следното съобщение: Тази база данни изисква надстройка. Не можете да променяте системните настройки, докато базата данни не бъде надстроена.
- Щракнете върху "Надстройка на базата данни". Отваря се съветникът за надстройка на база данни. Следвайте инструкциите на съветника, за да надстроите базата данни, и след това щракнете върху "Готово".
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.