BASE DE DADOS DE CONHECIMENTO

Limitações ao tamanho de dados e arquivos com fontes de dados Jet


Publicado: 11 Apr 2017
Data da última modificação: 20 Jul 2023

Problemas

Quando você se conecta a uma fonte de dados baseada no mecanismo de banco de dados Microsoft Jet, como o Excel, Access ou um arquivo de texto sem formatação (CSV), pode enfrentar problemas inesperados relativos a limitações no mecanismo de dados Jet.  A tecnologia Jet da Microsoft é usada para arquivos Excel e CSV no Tableau Desktop versões anteriores a 8.2 ou com um conector herdado no Tableau Desktop 8.2 e posteriores.

Limitações conhecidas de dados e de tamanho de arquivos

  • Trabalhar com arquivos CSV muito grandes pode ser problemático.
    Não há limite de tamanho de arquivo explícito ou documentado, porém, como uma diretriz geral, o tamanho do arquivo CSV deve ser menor que 4GB. Mesmo que consiga se conectar a um arquivo CSV maior que 4GB, obter uma extração pode provocar um erro, como

    Consulta muito complexa.

    Além disso, quando você tentar se conectar a um arquivo CSV grande, poderá ocorrer um erro sugerindo que o seu computador não tem espaço suficiente em disco temporário, mesmo que ele tenha esse espaço.

  • O tamanho da tabela está limitado a 255 colunas (campos). Na maioria dos casos, o Jet falha ao alcançar o limite de 255 colunas.

  • A união contém mais de 255 colunas (campos). Se uma união contiver mais de 255 colunas, ocorre o erro a seguir: 

    Database error 0x800004005: Too many fields defined (Erro de banco de dados 0x800004005: excesso de campos definidos)

    Observação: as uniões podem conter mais de 255 colunas se estiver usando uma instrução UNION ALL na sua consulta SQL. Se estiver usando UNION ALL, o número total de colunas na união é igual ao número de colunas contadas sempre que a instrução UNION ALL for usada. Isso pode fazer com que o número de colunas ultrapasse o limite de colunas. Por exemplo, pressuponha que haja UNION ALL em 3 tabelas com 102 colunas cada. A declaração, SELECT * FROM "Table1" UNION ALL SELECT * FROM "Table2" UNION ALL SELECT * FROM “Table3” contará 306 colunas e, portanto, ultrapassará o limite de coluna do Jet.

  • Campos de anotação em fontes de dados do Access podem ficar truncados depois de 255 caracteres.

  • Nomes de arquivo e de tabela estão limitados a 64 caracteres. Se um nome de arquivo e de tabela ultrapassar o limite de 64 caracteres, ao conectar a fonte de dados do Tableau, você pode receber qualquer uma das mensagens de erro a seguir:
    • An error occurred while communicating with data source <data-source-file-name>… (Erro na comunicação com a fonte de dados <nome_do_arquivo_da_fonte_de_dados>…) com uma sugestão adicional para verificar as suas permissões.
    • <data-source-file-name> is not a valid file name…. (não é um nome válido…) Verifique a pontuação ou outros caracteres inválidos no nome do arquivo.
    • Unable to open the text file…. (Não foi possível abrir o arquivo de texto….) Verifique o tipo de arquivo e as suas permissões.
    • The table <table-name> does not exist. (A tabela <nome_da_tabela> não existe.)
  • Nomes de campo estão limitados a 255 caracteres. Embora o Jet seja capaz de ler campos com nomes mais longos, muitas operações que são realizadas nesses campos causam um erro "Desconhecido". Esta limitação também faz com que os campos desapareçam sem indicação, quando extrações são criadas

Ambiente

  • Tableau Desktop
  • Windows
  • Excel
  • Access
  • Arquivos de texto (CSV)

Resolução

Soluções alternativas

  • Se o problema que você está enfrentando for causado por um nome de arquivo, de tabela ou de coluna que excede o limite de caracteres, a maneira mais confiável de resolvê-lo é alterando o nome na fonte de dados.
  • Se você tiver uma fonte de dados que contenha mais de 255 colunas, ou o tamanho da fonte de dados for excepcionalmente grande, você pode conseguir se conectar com sucesso à fonte de dados no Tableau, caso divida primeiro a tabela em seções menores (cada uma com menos de 255 colunas). Em seguida, no Tableau, conecte-se usando várias tabelas e uniões. Para isso, você precisará de um campo a ser usado como chave exclusiva para a união. Por exemplo, crie um campo de número de linha convertido em um tipo de dados de cadeia de caracteres.
Observação: mesmo que essa solução alternativa permita a conexão com os dados, pode ser que você receba o seguinte erro quando selecionar Exibir dados
Database error 0x800004005: Too many fields defined (Erro de banco de dados 0x800004005: excesso de campos definidos).
  • Se o desempenho ficar lento depois que você tiver se conectado às tabelas, talvez seja necessário criar uma extração.
  • Receber esse erro sugere que o seu computador não tem espaço temporário em disco suficiente, mesmo que tenha, verifique na pasta Temp do Windows se há um arquivo .tmp cujo nome comece com JET e cujo tamanho seja de aproximadamente 2 GB.

Causa

Isso é causado por uma limitação de tamanho de 2 GB para arquivos temporários gerados pelo Jet.

Informações adicionais


Limitações do Jet podem ocorrer em:
  • Pastas de trabalho criadas no Tableau Desktop 8.1 e anteriores
  • Fontes de dados em arquivos de texto e do Excel
  • Fontes de dados do Microsoft Access
  • Pastas de trabalho que usam uma conexão de dados herdada do Jet (consulte a observação importante abaixo)
Para evitar limitações de mecanismo de banco de dados do Jet, considere a possibilidade de atualizar suas fontes de dados de arquivo de texto e do Excel.

Observação: outra causa de erro "Desconhecido" são drivers Jet desatualizados ou corrompidos.

IMPORTANTE: a partir do Tableau 2019.1, não é mais possível criar uma nova conexão de Excel ou de texto herdada. As pastas de trabalho existentes criadas com essas conexões herdadas continuarão funcionando até 2019.2, quando todo o suporte para conexões herdadas será removido. Consulte o documento Alternativas de conexão herdada na Comunidade do Tableau para obter alternativas de como usar a conexão herdada.


Este artigo resolveu o problema?