Limitações conhecidas e solução de problemas com tabelas virtuais
Este artigo descreve as limitações conhecidas e dicas de solução de problemas ao trabalhar com tabelas virtuais no Microsoft Dataverse.
Limitações conhecidas
Veja a seguir uma lista de limitações conhecidas para tabelas virtuais criadas usando o provedor de conector virtual.
Geral
- A tabela ou lista usada deve incluir pelo menos um campo de cadeia de caracteres, a ser usado como campo primário, e um campo GUID. Sem esses campos de cadeia de caracteres, a não será possível criar a tabela virtual e um erro será gerado durante a etapa de recuperação de detalhes da tabela.
- O SharePoint usa o campo ID numérico oculto presente em todas as listas
- O SQL pode usar um campo GUID ou inteiro
- O Excel deve ter um campo GUID
- O Dataverse só poderá criar colunas que incluam tipos de dados compatíveis com o Dataverse. Isso inclui os seguintes tipos de dados:
- Cadeia de caracteres
- Texto com várias linhas (memorando)
- Número inteiro/inteiro
- Decimal
- Float
- Data/hora
- Sim/Não (booliano)
- Opções (seleção de vários valores)
- Hiperlink/Url
- Tipos de dados sem suporte para tabelas virtuais:
- Arquivo e anexos
- Image
- Pesquisar
- O número máximo de caracteres permitido para uma coluna de texto em uma tabela virtual é 4.000 caracteres. Se a tabela de origem tiver um limite máximo de caracteres maior que esse valor, qualquer operação de criação/atualização que exceda o limite máximo de caracteres resultará em um erro de validação e haverá falha na operação.
- As consultas de tabela virtual são limitadas a retornar 1,000 registros. Se você tiver um relacionamento (polimórfico) multitabela personalizado 1:N ou N com uma tabela virtual, qualquer consulta que exceder esse limite terá falha e fornecerá um erro. Use a filtragem em sua consulta para reduzir o conjunto de registros como uma solução alternativa para essa limitação.
- A funcionalidade de auditoria não está disponível para tabelas virtuais, porque o Dataverse só pode executar e armazenar dados de auditoria para dados armazenados localmente.
- Não é possível calcular valores acumulados e campos calculados para tabelas virtuais. Isso ocorre porque os valores acumulados são um cálculo do servidor no Dataverse, que exige que os dados sejam armazenados localmente.
- A tabela virtual ID do Microsoft Entra fornecida pela Microsoft só dá acesso de leitura.
- Tabelas virtuais do Dataverse podem exibir valores em campos que excedem os valores máximos normais do Dataverse. Esse comportamento ocorre porque os valores apresentados não são armazenados localmente. Por exemplo, o valor máximo inteiro do Dataverse é 100.000.000.000, mas pode recuperar e exibir 9.000.000.000.000 do SharePoint. No entanto, se o usuário tentar editar o número para um tamanho maior do que o tamanho máximo aceito no Dataverse, será fornecido um erro indicando que não é possível salvar o registro porque ele excede o tamanho máximo.
- A funcionalidade de importação e exportação dos dados da tabela não é compatível com tabelas virtuais.
Para cada fonte de dados
A seguir estão as limitações para cada fonte de dados.
- SQL Server
- Microsoft Excel Online (Business)
- Microsoft SharePoint
- Salesforce (versão preliminar)
- Oráculo (versão preliminar)
- As tabelas virtuais SQL podem usar uma GUID ou um campo Inteiro para a chave primária tendo em vista a funcionalidade.
- Tabelas do SQL Server sem chaves primárias: qualquer campo que não seja da cadeia de caracteres pode ser selecionado como a chave primária. A tabela virtual deve ser criada com êxito. RetrieveMultiple funciona, haverá falha nas outras operações com a seguinte mensagem de erro (vindo do conector do SQL): "A solicitação APIM não teve êxito: BadRequest: não existe nenhuma chave primária na tabela". Para funcionalidade, uma GUID ou um campo de inteiro deve ser usado como a chave primária.
- Tabelas do SQL Server usando uma chave primária de cadeia de caracteres: a chave primária de cadeia de caracteres do SQL é a única opção disponível para a chave primária de tabela virtual. As chaves primárias de cadeia de caracteres do SQL Server têm suporte somente se os valores puderem ser analisados como GUID. Se puderem ser analisadas como GUID, criação da tabela virtual terá êxito, mas terá falha no runtime com os seguintes erros:
- Maker Portal: "Não conseguimos abrir sua tabela. Tente recarregar ou reabrir."
- Rastreamento de rede: "as chaves primárias de cadeia de caracteres só terão suporte se puderem ser analisadas como GUID."
- Tabelas do SQL Server sem campos da cadeia de caracteres de chave não primária a ser usado como o Nome Primário: se a tabela SQL não tiver um campo da cadeia de caracteres disponível a ser usado como o Nome Primário, vamos exibir o seguinte erro na etapa Configuração: "A tabela não tem um campo primário"
- As exibições SQL podem ser usadas para criar uma tabela virtual, mas fornecerão apenas operações de leitura.
- Para limitações do Conector do SQL Server, acesse Referência do conector do SQL Server.
- As colunas bigint do tipo de dados SQL na tabela de origem são mapeadas como um tipo de dados decimal no Dataverse. Quando o suporte da plataforma estiver disponível para mapeamento bigint para um número inteiro, as colunas criadas anteriormente na tabela virtual deverão ser excluídas e novas colunas deverão ser criadas.
- Os seguintes tipos de coluna não podem ser incluídos em uma tabela virtual no momento:
- Hora
- Datetime2
- Imagem
- Geometria
- Geografia
- RowVersion
- Os seguintes tipos de coluna são incluídos em uma tabela virtual, mas são mostrados somente como campos de texto:
- HierarchyID
- XML
- Sqlvariant
Solução de Problemas
Só existe um (1) registro em sua tabela virtual, embora você tenha mais registros na tabela de origem.
Solução: verifique sua tabela de origem e certifique-se de que ela tenha a chave primária definida.Recebo um dos seguintes erros quando o Power Apps (make.powerapps.com) está recuperando minha lista de tabelas ou quando seleciono Concluir para criar minha tabela:
- "Recurso não encontrado para o segmento
msdyn_get_required_fields
" - "Erro na chamada... verifique se a conexão... existe no ambiente"
- "A sequência não corresponde a nenhum elemento para
msdyn_get_required_fields
"
Solução: em alguns casos, você pode não ter a solução mais atualizada para o provedor de conector virtual. Para determinar se sua solução de provedor de conector virtual precisa de uma atualização:
- Selecione Soluções no painel de navegação esquerdo. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.
- Selecione a guia Histórico.
- Pesquise o ConnectorProvider.
- Veja as informações para ver se a solução precisa ser atualizada.
- Se o histórico indicar que uma atualização é necessária, acesse o marketplace comercial da Microsoft, procure Provedor de Conector Virtual e, em seguida, selecione Instale agora para importar a solução para o seu ambiente.
- Siga as etapas para criar a tabela virtual novamente.
- "Recurso não encontrado para o segmento
Uma mensagem é exibida "Conexão 'xyz' não encontrada no ambiente atual" ao recuperar a lista de conexões.
Solução: isso ocorre quando há um grande número de conexões no ambiente Dataverse do usuário. Isso foi corrigido com a versão 1029 da solução do Provedor de Conector. A versão atualizada deve estar em todas as regiões até 20 de fevereiro de 2023. Para determinar se sua solução de provedor de conector virtual precisa de uma atualização:- Selecione Soluções no painel de navegação esquerdo. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.
- Selecione a guia Histórico.
- Pesquise o ConnectorProvider.
- Veja as informações para ver se a solução precisa ser atualizada.
- Se o histórico indicar que uma atualização é necessária, acesse o marketplace comercial da Microsoft, procure Provedor de Conector Virtual e, em seguida, selecione Instale agora para importar a solução para o seu ambiente.
- Siga as etapas para criar a tabela virtual novamente.
Sou notificado de que o tempo limite foi atingido durante a criação da tabela virtual.
Solução: isso pode ocorrer quando outros trabalhos existentes atrasam a criação da tabela virtual. Aguarde alguns minutos e tente novamente.Recebo uma notificação de que "Ocorreu um erro inesperado"
Solução: isso ocorre quando a fonte de dados da tabela virtual foi criada com valores inválidos. Para resolver isso, você precisará localizar a fonte de dados da tabela virtual que está causando o erro, excluí-la e recriar a tabela virtual.- Selecione Configurações (ícone de engrenagem) > Configurações avançadas de Power Apps.
- No menu superior, selecione Configurações.
- Acesse Soluções. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.
- Vá para a solução que inclui a tabela virtual (se você não estava usando uma solução, vá até Solução Padrão do Common Data Services).
- No painel esquerdo, selecione Fontes de dados da tabela virtual.
- Clique duas vezes em cada fonte de dados (todas começam com VCP_DS_..."); ao localizar aquela com o erro, exclua essa fonte de dados.
- Recrie sua tabela virtual.
Uma mensagem é exibida "Esta tabela já existe, você está recriando a tabela. O campo primário e o nome do esquema não podem ser alterados."
Solução: esta tabela já foi criada anteriormente. Continuar com a criação resultará na recriação da tabela; isso resulta na atualização na tabela virtual de alterações feitas na tabela na fonte de dados (isso inclui adição ou remoção de campos). O nome personalizado e os valores do campo primário não serão editáveis.Mensagem de erro: "primary_key_name não pode estar vazio"
Solução: você escolheu uma tabela ou lista que não inclui um valor GUID para a chave primária. Você precisará adicionar uma coluna GUID adicional em sua tabela de origem para criar uma tabela virtual.Criei uma tabela virtual do Excel, mas não consigo vê-la em "Tabelas".
Solução: como a criação da tabela virtual é assíncrona, você pode verificar o status do processo em Trabalhos do Sistema. Procure trabalhos do sistema com um Nome iniciado porMicrosoft.Wrm.DataProvider.Connector.Plugins.ConnectorGenerateVEPlugin
e um valor de coluna Referente igual ao nome da nova tabela virtual. Se o status ainda for Em andamento, aguarde a conclusão do trabalho. Se houver um erro, você pode obter detalhes clicando no hiperlink sistema, nome do trabalho. Neste exemplo, a criação da tabela ainda está pendente:Aqui, a criação da tabela falhou devido ao erro 429 "Muitas solicitações":
O trabalho do sistema de criação de tabela foi bem-sucedido, mas estou recebendo erros de runtime relacionados a colunas inválidas ou ausentes
Solução: se ocorrer uma falha ao criar o campo de uma tabela, o processo de criação da tabela não falhará e tentará continuar com os campos restantes. Isso ocorre porque não queremos bloquear a criação da tabela virtual quando alguns tipos de coluna não são suportados. Para obter detalhes sobre o erro, você pode habilitar o login em Administração> Configurações de sistema > Personalizações > Habilitar registro em logs para log de rastreamento de plug-in, exclua a tabela virtual e tente criá-la novamente.
Próximas etapas
Criar tabelas virtuais usando o provedor de conectores virtuais (versão preliminar)