Symptômes
Considérez le scénario suivant :
-
Vous avez Master Data Services (MDS) pour Microsoft SQL Server 2012 ou SQL Server 2014 est installé.
-
Vous créez une entité qui a 100 membres et a vérifié de l’option «Créer automatiquement les valeurs de Code».
-
Dans l’Explorateur de MDS, l’entité comprend deux pages de membres avec le nombre de membres égal à la taille de page de grille de Page 2 (valeur par défaut est 50).
Scénario 1 :
Cliquez sur le bouton Ajouter un membre , sur la Page 1, entrez les données requises pour ajouter le nouveau membre et puis cliquez sur le bouton de Page suivante . Page 3 est créé et que vous recevez après des erreurs :
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Arguments :
Débogage des chaînes de ressource ne sont pas disponibles. La clé et les arguments fournissent souvent des informations suffisantes pour diagnostiquer le problème. Voir http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index
Nom du paramètre : index
à System.ThrowHelper.ThrowArgumentOutOfRangeException()
à System.Collections.Generic.List'1.get_Item (Int32 index)
à System.Collections.ObjectModel.Collection'1.get_Item (Int32 index)
à 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()
à System.Windows.Controls.DataForm.GenerateUI (Boolean clearEntityErrors, Boolean swapOldAndNew)
à System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
à System.Windows.DependencyObject.RaisePropertyChangeNotifications (dp DependencyProperty, objet oldValue, newValue de l’objet)
à System.Windows.DependencyObject.UpdateEffectiveValue (propriété DependencyProperty, EffectiveValueEntry, oldEntry, EffectiveValueEntry et newEntry, opération de ValueOperation)
à System.Windows.DependencyObject.SetValueInternal (dp DependencyProperty, valeur de l’objet, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter)
à System.Windows.Controls.DataForm.UpdateCurrentItem()
à b__8 de System.Windows.Controls.DataForm. < SetUpCollectionView > (instance DataForm, source de l’objet EventArgs eventArgs)
à System.Windows.Controls.WeakEventListener'3.OnEvent (TSource source, TEventArgs eventArgs)
à System.EventHandler.Invoke (Object sender, EventArgs e)
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.OnCurrentChanged()
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentToPosition (Int32 position)
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentTo (objet)
à Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem (valeur de membre)
à Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems()
à Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded (Object sender, EventArgs e)
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh()
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage (Int32 pageIndex)
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage()
à System.Windows.Controls.DataPager.PageMoveHandler (Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation)
à 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)
à System.Windows.Controls.Control.OnMouseLeftButtonUp (contrôle ctrl, EventArgs e)
à MS. Internal.JoltHelper.FireEvent (IntPtr unmanagedObj, IntPtr unmanagedObjArgs, argsTypeIndex de Int32, Int32 actualArgsTypeIndex, chaîne eventName, UInt32 indicateurs)
Scénario 2 :
Cliquez sur le bouton Ajouter un membre à la Page 2 pour forcer l’Explorateur à ajouter une nouvelle page. Puis la Page 3 est créé et que vous recevez après des erreurs :
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Arguments :
Débogage des chaînes de ressource ne sont pas disponibles. La clé et les arguments fournissent souvent des informations suffisantes pour diagnostiquer le problème. Voir http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index
Nom du paramètre : index
à System.ThrowHelper.ThrowArgumentOutOfRangeException()
à System.Collections.Generic.List'1.get_Item (Int32 index)
à System.Collections.ObjectModel.Collection'1.get_Item (Int32 index)
à 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 (NotifyCollectionChangedEventArgs eventArgs, source d’objet, instance de DataForm)
à System.Windows.Controls.WeakEventListener'3.OnEvent (TSource source, TEventArgs eventArgs)
à System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (Object sender, NotifyCollectionChangedEventArgs e)
à Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler (Object sender, NotifyCollectionChangedEventArgs e)
à System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (Object sender, NotifyCollectionChangedEventArgs e)
à System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged (NotifyCollectionChangedEventArgs e)
à System.Collections.ObjectModel.ObservableCollection'1.InsertItem (Int32 index, T item)
à System.Collections.ObjectModel.Collection'1.Insert (Int32 index, T item)
à Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection (Guid requestId, la réponse à EntityMembersGetResponse, Exception ex)
à c__DisplayClass16 de <> Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.'2. < ExecuteRequest > b__15 (Object sender, RequestCompletedEventArgs'1 e)
à Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted (état de l’objet)
Résolution
Le problème a été tout d’abord résolu dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 1 pour SQL Server 2014/en-us/help/2931693
Mise à jour cumulative 9 pour SQL Server 2012 SP1/en-us/help/2931078
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et de sécurité inclus dans la mise à jour cumulative précédente. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Plus d'informations
Une fois l’installation terminée, vous devez ouvrir le Gestionnaire de Configuration de Services de données maître afin que vous pouvez mettre à niveau la base de données MDS.
-
Cliquez sur bases de données, puis cliquez sur Sélectionner une base de données.
-
Se connecter à la base de données que vous souhaitez mettre à niveau. Lorsque la base de données est activée, vous recevez le message suivant : cette base de données nécessite une mise à niveau. Vous ne pouvez pas modifier les paramètres système jusqu'à ce que la mise à niveau de la base de données.
-
Cliquez sur mettre à niveau la base de données. L' Assistant Mise à niveau de base de données s’ouvre. Suivez les instructions de l’Assistant Mise à niveau de la base de données et puis cliquez sur Terminer.
État
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».