Compartilhar via


Problemas ao recuperar dados da lista do SharePoint no Access

Sintomas

Ao solicitar dados das listas do Microsoft SharePoint no Microsoft Access, você poderá receber uma das seguintes mensagens de erro:

  • Houve erros ao executar a consulta em massa ou enviar dados para o servidor. Reconecte as tabelas para resolve os conflitos ou descarte as alterações pendentes.
  • Todas as tabelas do SharePoint estão desconectadas.
  • Não é possível atualizar. O banco de dados ou o objeto é somente leitura.
  • O mecanismo de banco de dados do Microsoft Office Access não conseguiu localizar o objeto "<nome> da tabela vinculada". Verifique se o objeto existe e se você digitou o nome e o nome do caminho corretamente.
  • A tabela vinculada '<nome> da tabela vinculada' não está disponível. O Microsoft Access não pode entrar em contato com o servidor. Verifique sua conexão de rede ou entre em contato com o administrador do servidor.
  • Você não tem as permissões necessárias para usar o objeto '<nome> da tabela vinculado'. Solicite que o administrador do sistema ou a pessoa que criou o objeto estabeleça as permissões apropriadas para você.

Ou você pode ter um dos seguintes problemas:

  • O acesso sai inesperadamente ou falha quando você tenta abrir uma tabela vinculada.
  • O acesso aparece em impasse quando você tenta abrir uma tabela vinculada.

Motivo

Quando o Access solicita itens de lista de uma lista do SharePoint, o Access aguarda um período finito de tempo para que esses dados sejam retornados. Especificamente, se o Access não receber os dados do lote determinado após 30 segundos, ele cancelará a solicitação e poderá reenviar o lote como uma nova solicitação. Se o Access encontrar falhas ao enviar esses lotes, o programa poderá desistir e retornar uma mensagem de erro.

Algumas condições que podem causar esse problema são:

  • Há um problema com a integridade do Microsoft SharePoint Server, por exemplo, ele é executado lentamente.
  • Você tem uma conexão de baixa largura de banda.
  • Você tem uma lista ou biblioteca de documentos grande ou complexa do SharePoint.
  • Há uma longa distância entre você e o servidor.
  • Há mais de 255 colunas na lista do SharePoint ou na biblioteca de documentos.
  • Você é limitado quando usa o SharePoint Online. Para obter mais informações sobre a limitação no SharePoint Online, consulte Evitar ser limitado ou bloqueado no SharePoint Online.

Resolução

Para corrigir o problema, use um dos seguintes métodos:

  • Método 1: reduza o tempo de resposta evitando as condições que podem causar os problemas.

  • Método 2: reduza a quantidade de dados solicitados do servidor usando uma exibição no SharePoint e vinculando o Access a essa exibição.

    Para obter informações detalhadas sobre como criar uma tabela vinculada que usa a exibição do SharePoint, consulte ImportSharePointList Macro Action.

  • Método 3: aumentar o tempo limite no Access adicionando a entrada do registro DataFetchTimeout

    Importante

    Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para mais proteção, faça o backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para saber mais sobre como fazer o backup e restaurar o registro, consulte Como fazer o backup e restaurar o registro no Windows.

    Observação

    A entrada do registro DataFetchTimeout originalmente só se aplicava às solicitações de leitura quando o Access sincroniza seus dados armazenados em cache com a lista do SharePoint. A partir de Access 2016 Builds click-to-run 16.0.9215.5830, essa entrada de registro também se aplica às operações Inserir, Atualizar e Excluir.

Adicionar a entrada do registro DataFetchTimeout no Access 2010

  1. Aplique o seguinte pacote hotfix:

    Descrição do pacote hotfix do Access 2010 (Stslist-x-none.msp): 28 de junho de 2011

  2. Abra a Editor do Registro e localize e selecione a seguinte subchave de registro:

    Para o Access de 32 bits no Windows de 32 bits ou no Access de 64 bits no Windows de 64 bits

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines

    Para acesso de 32 bits no Windows de 64 bits

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines

  3. No menu Editar, aponte para Novo e clique em Valor DWORD.

  4. Digite DataFetchTimeout e pressione Enter.

  5. Clique com o botão direito do mouse em DataFetchTimeout e clique em Modificar.

  6. Selecione Decimal em Base, digite 90000 na caixa de dados Valor e clique em OK.

    Se o valor não corrigir o problema, tente um valor maior. DataFetchTimeout está em milissegundos.

  7. Saia do Editor do Registro.

Adicionar a entrada do registro DataFetchTimeout no Access 2013

  1. Abra a Editor do Registro e localize e selecione a seguinte subchave de registro:

    Para o Access de 32 bits no Windows de 32 bits ou no Access de 64 bits no Windows de 64 bits

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines

    Para acesso de 32 bits no Windows de 64 bits

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines

  2. No menu Editar, aponte para Novo e clique em Valor DWORD.

  3. Digite DataFetchTimeout e pressione Enter.

  4. Clique com o botão direito do mouse em DataFetchTimeout e clique em Modificar.

  5. Selecione Decimal em Base, digite 90000 na caixa de dados Valor e clique em OK.

    Se o valor não corrigir o problema, tente um valor maior. DataFetchTimeout está em milissegundos.

  6. Saia do Editor do Registro.

Adicionar a entrada do registro DataFetchTimeout no Access 2016

  1. Abra a Editor do Registro e localize e selecione a seguinte subchave de registro:

    • Para instalação do MSI do Access

      Para o Access de 32 bits no Windows de 32 bits ou no Access de 64 bits no Windows de 64 bits

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines

      Para acesso de 32 bits no Windows de 64 bits

      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines

    • Para instalação de Clique para Executar do Access

      Para o Access de 32 bits no Windows de 32 bits ou no Access de 64 bits no Windows de 64 bits

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines

      Para acesso de 32 bits no Windows de 64 bits

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines

  2. No menu Editar, aponte para Novo e clique em Valor DWORD.

  3. Digite DataFetchTimeout e pressione Enter.

  4. Clique com o botão direito do mouse em DataFetchTimeout e clique em Modificar.

  5. Selecione Decimal em Base, digite 90000 na caixa de dados Valor e clique em OK.

    Se o valor não corrigir o problema, tente um valor maior. DataFetchTimeout está em milissegundos.

  6. Saia do Editor do Registro.