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_Index
Nome do parâmetro: índice
em 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_Index
Nome do parâmetro: índice
em 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".