KB2932340 – OPRAVA: Chyby při přidávání člena v MDS SQL Server 2012 nebo SQL Server 2014

Platí pro
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)

Příznaky

Vezměte v úvahu následující scénář:

  • Máte nainstalovanou službu Master Data Services (MDS) pro Microsoft SQL Server 2012 nebo SQL Server 2014.
  • Vytvoříte entitu, která má 100 členů a má zaškrtnutou možnost "Vytvořit hodnoty kódu automaticky".
  • V MDS Exploreru má entita dvě stránky členů, přičemž počet členů na stránce 2 se rovná velikosti stránky mřížky (výchozí hodnota je 50).

Scénář 1:
Klikněte na tlačítko Přidat člena na stránce 1, zadejte data požadovaná pro přidání nového člena a pak klikněte na tlačítko Další stránka . Je vytvořena stránka 3 a zobrazí se následující chyby:

Poznámka

System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumenty:
Ladicí řetězce prostředků nejsou k dispozici. Klíč a argumenty často poskytují dostatečné informace k diagnostice problému. Viz http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&file=mscorlib.dll&key=ArgumentOutOfRange_Index
Název parametru: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List'1.get_Item(index Int32)
   at System.Collections.ObjectModel.Collection'1.get_Item(Int32 index)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
   v System.Windows.Controls.DataForm.get_ItemsCount()
   v System.Windows.Controls.DataForm.SetCanMoveToLastItem()
   v System.Windows.Controls.DataForm.SetAllCanProperties()
   v System.Windows.Controls.DataForm.SetIsItemValid()
   at System.Windows.Controls.DataForm.GenerateUI(Boolean clearEntityErrors, Boolean swapOldAndNew)
   v System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   v System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
   at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operace)
   v System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter)
   v System.Windows.Controls.DataForm.UpdateCurrentItem()
   v System.Windows.Controls.DataForm.<SetUpCollectionView>b__8(instance DataForm, zdroj objektu, 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)
   v Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem(hodnota člena)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems()
   at Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded(Object sender, EventArgs e)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh()
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage(Int32 pageIndex)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage()
   at System.Windows.Controls.DataPager.PageMoveHandler(Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation)
   at System.Windows.Controls.DataPager.OnNextPageButtonBaseClick(Object sender, RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   v System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control Ctrl, EventArgs e)
   v MS. Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)

Scénář 2:
Kliknutím na tlačítko Přidat člena na stránce 2 vynutíte v Průzkumníkovi přidání nové stránky. Potom se vytvoří stránka 3 a zobrazí se následující chyby:

Poznámka

System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumenty:
Ladicí řetězce prostředků nejsou k dispozici. Klíč a argumenty často poskytují dostatečné informace k diagnostice problému. Viz http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&file=mscorlib.dll&key=ArgumentOutOfRange_Index
Název parametru: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List'1.get_Item(index Int32)
   at System.Collections.ObjectModel.Collection'1.get_Item(Int32 index)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
   v System.Windows.Controls.DataForm.get_ItemsCount()
   v System.Windows.Controls.DataForm.SetCanMoveToLastItem()
   v System.Windows.Controls.DataForm.SetAllCanProperties()
   v System.Windows.Controls.DataForm.<SetUpCollectionView>b__a(instance DataForm, zdroj objektu, NotifyCollectionChangedEventArgs eventArgs)
   at System.Windows.Controls.WeakEventListener'3.OnEvent(TSource source, TEventArgs eventArgs)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection'1.InsertItem(Int32 index, T item)
   at System.Collections.ObjectModel.Collection'1.Insert(Int32 index, T položka)
   at Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection(Guid requestId, EntityMembersGetResponse response, Exception ex)
   at 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)

Řešení

Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.

Kumulativní aktualizace 1 pro SQL Server 2014 /en-us/help/2931693

Kumulativní aktualizace 9 pro SQL Server 2012 SP1 /en-us/help/2931078

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

      

Další informace

Po dokončení instalace je nutné otevřít Master Data Services Správce konfigurace, abyste mohli databázi MDS upgradovat.

  1. Klikněte na Databáze a potom na Vybrat databázi.
  2. Připojte se k databázi, kterou chcete upgradovat. Je-li vybrána databáze, zobrazí se následující zpráva: Tato databáze vyžaduje upgrade. Nastavení systému nelze změnit, dokud nebude databáze upgradována.
  3. Klikněte na Upgradovat databázi. Spustí se Průvodce upgradem databáze . Postupujte podle pokynů průvodce pro inovaci databáze a pak klikněte na Dokončit.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.