KB2932340 – OPRAVA: Chyby pri pridávaní člena v MDS SQL Server 2012 alebo SQL Server 2014

Vzťahuje sa na
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)

Príznaky

Pozrite si nasledujúci scenár:

  • Máte nainštalované služby Master Data Services (MDS) pre Microsoft SQL Server 2012 alebo SQL Server 2014.
  • Vytvoríte entitu, ktorá má 100 členov a je začiarknutá možnosť Vytvoriť hodnoty kódu automaticky.
  • V MDS Exploreri má entita dve stránky členov, pričom počet členov na strane 2 sa rovná veľkosti strany mriežky (predvolená hodnota je 50).

Scenár 1:
Kliknite na tlačidlo Pridať člena na strane 1, zadajte požadované údaje na pridanie nového člena a potom kliknite na tlačidlo Nasledujúca strana . Vytvorí sa strana 3 a zobrazia sa nasledujúce chyby:

Poznámka

System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumenty:
Reťazce ladiaceho prostriedku nie sú k dispozícii. Kľúč a argumenty často poskytujú dostatočné informácie na diagnostikovanie problému. Pozrite si http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&File=mscorlib.dll&key=ArgumentOutOfRange_Index
Názov parametra: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List'1.get_Item(index Int32)
   at System.Collections.ObjectModel.Collection'1.get_Item(index Int32)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
   at System.Windows.Controls.DataForm.get_ItemsCount()
   at System.Windows.Controls.DataForm.SetCanMoveToLastItem()
   at System.Windows.Controls.DataForm.SetAllCanProperties()
   at: System.Windows.Controls.DataForm.SetIsItemValid()
   at System.Windows.Controls.DataForm.GenerateUI(Boolean clearEntityErrors, Boolean swapOldAndNew)
   at System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
   at System.Windows.DependencyObject.UpdateEffectiveValue(vlastnosť DependencyProperty, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, operácia ValueOperation)
   at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, boolean allowReadOnlySet, Boolean isBindingInStyleSetter)
   at System.Windows.Controls.DataForm.UpdateCurrentItem()
   at System.Windows.Controls.DataForm.<SetUpCollectionView>b__8(inštancia DataForm, zdroj objektu, argy udalosti, argy udalosti)
   at System.Windows.Controls.WeakEventListener'3.OnEvent(TSource source, TEventArgs eventArgs)
   at System.EventHandler.Invoke(Odosielateľ objektu, Argumenty udalosti 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(položka objektu)
   at 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()
   at 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)

Scenár 2:
Kliknutím na tlačidlo Pridať člena na strane 2 vynútite Prieskumníka pridať novú stranu. Potom sa vytvorí strana 3 a zobrazia sa nasledujúce chyby:

Poznámka

System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumenty:
Reťazce ladiaceho prostriedku nie sú k dispozícii. Kľúč a argumenty často poskytujú dostatočné informácie na diagnostikovanie problému. Pozrite si http://go.microsoft.com/fwlink/?linkid=106663&version=5.1.20913.00&File=mscorlib.dll&key=ArgumentOutOfRange_Index
Názov parametra: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List'1.get_Item(index Int32)
   at System.Collections.ObjectModel.Collection'1.get_Item(index Int32)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
   at System.Windows.Controls.DataForm.get_ItemsCount()
   at System.Windows.Controls.DataForm.SetCanMoveToLastItem()
   at System.Windows.Controls.DataForm.SetAllCanProperties()
   at System.Windows.Controls.DataForm.<SetUpCollectionView>b__a(inštancia DataForm, zdroj objektu, NotifyCollectionChangedEventArgs eventArgs)
   at System.Windows.Controls.WeakEventListener'3.OnEvent(TSource source, TEventArgs eventArgs)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Odosielateľ objektu, NotifyCollectionChangedEventArgs e)
   at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler(Odosielateľ objektu, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Odosielateľ objektu, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection'1.InsertItem(index Int32, položka T)
   at System.Collections.ObjectModel.Collection'1.Insert(index Int32, položka T)
   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(odosielateľ objektu, RequestCompletedEventArgs'1 e)
   at Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted(Object state)

Riešenie

Tento problém bol prvýkrát opravený v nasledujúcej kumulatívnej aktualizácii SQL Server.

Kumulatívna aktualizácia 1 pre SQL Server 2014 /en-us/help/2931693

Kumulatívna aktualizácia 9 pre SQL Server 2012 SP1 /en-us/help/2931078

Informácie o kumulatívnych aktualizáciách pre SQL Server

Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

      

Ďalšie informácie

Po dokončení inštalácie musíte otvoriť Master Data Services Configuration Manager, aby ste mohli inovovať databázu MDS.

  1. Kliknite na položku Databázy a potom na položku Vybrať databázu.
  2. Pripojte sa k databáze, ktorú chcete inovovať. Po výbere databázy sa zobrazí toto hlásenie: Táto databáza vyžaduje inováciu. Systémové nastavenia nemôžete zmeniť, kým sa databáza neinovuje.
  3. Kliknite na položku Inovovať databázu. Otvorí sa Sprievodca inováciou databázy. Podľa pokynov sprievodcu inovujte databázu a potom kliknite na tlačidlo Dokončiť.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.