KB2932340 – КОРЕКЦИЯ: Грешки при добавяне на член в MDS на SQL Server 2012 или SQL Server 2014

Отнася се за
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Симптоми

Имайте предвид сценария, описан по-долу:

  • Имате инсталирани 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 базата данни.

  1. Щракнете върху "Бази данни" и след това щракнете върху "Избор на база данни".
  2. Свържете се към базата данни, която искате да надстроите. Когато базата данни е избрана, получавате следното съобщение: Тази база данни изисква надстройка. Не можете да променяте системните настройки, докато базата данни не бъде надстроена.
  3. Щракнете върху "Надстройка на базата данни". Отваря се съветникът за надстройка на база данни. Следвайте инструкциите на съветника, за да надстроите базата данни, и след това щракнете върху "Готово".

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.