Sintomas
Considere o seguinte cenário:
-
Você tem o Master Data Services (MDS) para Microsoft SQL Server 2012 ou 2014 do SQL Server instalado.
-
Criar uma entidade que tem 100 membros, e verificou a opção "Criar valores de código automaticamente".
-
No Explorer do MDS, a entidade tem duas páginas de membros com o número de membros na página 2 igual o tamanho da grade da página (o padrão é 50).
Cenário 1:Clique no botão Adicionar membro na página 1, insira os dados necessários para adicionar o novo membro e, em seguida, clique no botão de Próxima página . Página 3 é criada e você recebe os seguintes erros:
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]Argumentos:Sequências de caracteres de recurso depuração estão disponíveis. Geralmente a chave e os argumentos fornecem informações suficientes para diagnosticar o problema. Consulte http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_IndexNome do parâmetro: índiceem System.ThrowHelper.ThrowArgumentOutOfRangeException()no System.Collections.Generic.List'1.get_Item (Int32 index)no System.Collections.ObjectModel.Collection'1.get_Item (Int32 index)em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()em System.Windows.Controls.DataForm.get_ItemsCount()em System.Windows.Controls.DataForm.SetCanMoveToLastItem()em System.Windows.Controls.DataForm.SetAllCanProperties()em System.Windows.Controls.DataForm.SetIsItemValid()no System.Windows.Controls.DataForm.GenerateUI (Boolean clearEntityErrors, Boolean swapOldAndNew)no System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)no System.Windows.DependencyObject.RaisePropertyChangeNotifications (DependencyProperty dp, objeto oldValue, newValue objeto)no System.Windows.DependencyObject.UpdateEffectiveValue (propriedade de DependencyProperty, EffectiveValueEntry oldEntry, EffectiveValueEntry e newEntry, ValueOperation operação)no System.Windows.DependencyObject.SetValueInternal (DependencyProperty dp, valor Object, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter)em System.Windows.Controls.DataForm.UpdateCurrentItem()em b__8 System.Windows.Controls.DataForm. < SetUpCollectionView > (instância de DataForm, Object source, EventArgs eventArgs)no System.Windows.Controls.WeakEventListener'3.OnEvent (origem TSource, TEventArgs eventArgs)no System.EventHandler.Invoke (objeto remetente, EventArgs e)em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.OnCurrentChanged()no Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentToPosition (Int32 posição)no Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentTo (item do objeto)no Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem (valor de membro)em Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems()no Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded (objeto remetente, EventArgs e)em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh()no Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage (Int32 pageIndex)em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage()no System.Windows.Controls.DataPager.PageMoveHandler (Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation)no System.Windows.Controls.DataPager.OnNextPageButtonBaseClick (objeto remetente, RoutedEventArgs e)em System.Windows.Controls.Primitives.ButtonBase.OnClick()em System.Windows.Controls.Button.OnClick()no System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp (MouseButtonEventArgs e)no System.Windows.Controls.Control.OnMouseLeftButtonUp (controle ctrl, e EventArgs)em MS. Internal.JoltHelper.FireEvent (unmanagedObj IntPtr, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, actualArgsTypeIndex de Int32, String eventName, UInt32 flags)
Cenário 2:Clique no botão Adicionar membro na página 2 para forçar o Explorer para adicionar uma nova página. Em seguida, a página 3 é criado e você recebe os seguintes erros:
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]Argumentos:Sequências de caracteres de recurso depuração estão disponíveis. Geralmente a chave e os argumentos fornecem informações suficientes para diagnosticar o problema. Consulte http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_IndexNome do parâmetro: índiceem System.ThrowHelper.ThrowArgumentOutOfRangeException()no System.Collections.Generic.List'1.get_Item (Int32 index)no System.Collections.ObjectModel.Collection'1.get_Item (Int32 index)em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()em System.Windows.Controls.DataForm.get_ItemsCount()em System.Windows.Controls.DataForm.SetCanMoveToLastItem()em System.Windows.Controls.DataForm.SetAllCanProperties()em System.Windows.Controls.DataForm. < SetUpCollectionView > b__a (instância DataForm, origem do objeto, NotifyCollectionChangedEventArgs eventArgs)no System.Windows.Controls.WeakEventListener'3.OnEvent (origem TSource, TEventArgs eventArgs)no System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (objeto remetente, NotifyCollectionChangedEventArgs e)no Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler (objeto remetente, NotifyCollectionChangedEventArgs e)no System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (objeto remetente, NotifyCollectionChangedEventArgs e)no System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged (NotifyCollectionChangedEventArgs e)no System.Collections.ObjectModel.ObservableCollection'1.InsertItem (Int32 index, T item)no System.Collections.ObjectModel.Collection'1.Insert (Int32 index, T item)no Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection (Guid requestId, resposta EntityMembersGetResponse, Exception ex)em Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient. <> c__DisplayClass16'2. < ExecuteRequest > b__15 (objeto remetente, e RequestCompletedEventArgs'1)no Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted (estado do objeto)
Resolução
O problema foi corrigido primeiro na atualização cumulativa seguinte do SQL Server.
Atualização cumulativa 1 para SQL Server 2014/en-us/help/2931693
Atualização cumulativa 9 para o SQL Server 2012 SP1/en-us/help/2931078
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com as atualização cumulativa anterior. Confira as mais recentes atualizações cumulativas para o SQL Server:
Mais informações
Após a conclusão da instalação, você precisa abrir o Gerenciador de configuração do Master Data Services para que você pode atualizar o banco de dados do MDS.
-
Clique em bancos de dadose, em seguida, clique em Selecionar banco de dados.
-
Conectar-se ao banco de dados que você deseja atualizar. Quando o banco de dados estiver selecionado, você recebe a seguinte mensagem de erro: esse banco de dados precisa de uma atualização. Você não pode alterar as configurações do sistema até que o banco de dados é atualizado.
-
Clique em Atualizar banco de dados. Abre o Assistente para atualização de banco de dados . Siga as instruções no Assistente para atualizar o banco de dados e, em seguida, clique em Concluir.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".