Você está offline; aguardando reconexão

Mensagem de erro "Contagem de bloqueios de compartilhamento excedida..." durante o processamento de uma transação grande

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

Importante Este artigo contém informações sobre como modificar o Registro. Certifique-se de fazer backup do Registro antes de modificá-lo. Certifique-se de que saiba como restaurá-lo caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
322756 Como fazer backup e restaurar o Registro no Windows XP e Windows Vista
Sintomas
Quando um ou mais usuários processam muitas transações em um ambiente multi-usuário, as transações podem falhar com a seguinte mensagem de erro:
Contagem de bloqueios de compartilhamento excedida. Aumente a entrada de registro MaxLocksPerFile.
Causa
Este erro ocorre quando o número de bloqueios necessários para realizar uma transação excede o número máximo de bloqueios por arquivo.
Como Contornar
Aviso O uso incorreto do Editor do Registro, ou outro método, pode causar sérios problemas. Estes problemas talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor de Registro possam ser solucionados. A modificação do Registro é de sua responsabilidade.

Para solucionar esse problema, aumente o número máximo de bloqueios por arquivo. Para fazer isso, use um dos seguintes métodos.

Método 1: Configurar a chave do Registro para MaxLocksPerFile para aumentar o número máximo de bloqueios por arquivo

  1. Clique em Iniciar e em Executar.
  2. Digite regedit, e clique em OK.
  3. Use o método apropriado:
    • No Microsoft Access 2000, no Microsoft Access 2002 e no Microsoft Office Access 2003 que estão sendo executados em um sistema operacional Windows de 32 bits, use o Editor do Registro para localizar a seguinte chave do Registro:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0

      No Microsoft Access 2000, no Microsoft Access 2002 e no Microsoft Office Access 2003 que estão sendo executados em um sistema operacional Windows de 64 bits, use o Editor do Registro para localizar a seguinte chave do Registro:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0
    • No Microsoft Office Access 2007 sendo executado em um sistema operacional Windows de 32 bits, use o Editor do Registro para localizar a seguinte chave do Registro:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE

      No Microsoft Office Access 2007 sendo executado em um sistema operacional Windows de 64 bits, use o Editor do Registro para localizar a seguinte chave do Registro:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
  4. No painel à direita da janela do Editor do Registro, clique duas vezes em MaxLocksPerFile.
  5. Na caixa de diálogo Editar valor DWORD, clique em Decimal.
  6. Modifique o valor da caixa Dados do valor conforme necessário e clique em OK.
Observação Este método altera as configurações do Registro do Windows para todos os aplicativos que usam o Microsoft Jet database engine versão 4.0.

Método 2: Usar o método SetOption para alterar temporariamente MaxLocksPerFile

Observação O código de exemplo neste artigo usa o Microsoft Data Access Objects. Para este código ser executado corretamente, é necessário referenciar a biblioteca Microsoft DAO 3.6 Object Library. Para fazer isto, clique em Referências no menu Ferramentas no Editor do Visual Basic e verifique a caixa de seleção Microsoft DAO 3.6 Object Library está marcada.

O método SetOption temporariamente sobrepõe o número padrão de bloqueios por arquivo. Você configura o número padrão de bloqueios por arquivo quando configura a chave de Registro MaxLocksPerFile . Você define um novo valor usando o método SetOption. O novo valor é válido até que você feche o objeto DBEngine. Para usar o Método 2, execute as seguintes etapas:
  1. Abra o Microsoft Access.
  2. Abra o banco de dados e pressione Alt+F11 para iniciar o editor do Visual Basic.
  3. Na janela Microsoft Visual Basic -<Nome do Banco de dados>-[<Nome do Módulo> (Código)], clique em Immediate Window no menu Exibir.
  4. Em Immediate Window, digite o seguinte código.
    DAO.DBEngine.SetOption dbmaxlocksperfile,15000
  5. Pressione a tecla ENTER para executar a linha de código.

    Observação Isto define temporariamente o valor de MaxLocksPerFile para 15.000.
Para processar uma grande quantidade de transações, defina o valor de MaxLocksPerFile conforme a sua necessidade e então execute as transações na sessão.

As alterações feitas nas definições de MaxLocksPerFile usando o método SetOption estão disponíveis somente para a sessão atual.
Mais Informações
A definição de MaxLocksPerFile determina o número máximo de bloqueios que o Microsoft Jet estipula para um arquivo. O valor padrão de MaxLocksPerFile é 9.500. Entretanto, não altere esse valor caso esteja trabalhando em um servidor NetWare da Novell, pois o número máximo de bloqueios de registro do servidor por conexão é 10.000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
305995 Erro "3050 Não foi possível bloquear o arquivo" ao tentar conectar a um banco de dados Jet em um servidor Novell
Referências
Para obter informações adicionais, consulte os seguintes artigos na Base de Dados de Conhecimento Microsoft:
198633 A mensagem de erro "Contagem de bloqueios de compartilhamento excedida" é exibida ao sincronizar duas réplicas no Access 2000
209940 Mensagem de erro "Não há espaço em disco ou memória suficiente" é exibida ao tentar realizar uma operação em uma tabela do Access 2000
ACC2003 ACC2007
Propriedades

ID do Artigo: 815281 - Última Revisão: 03/20/2008 03:38:35 - Revisão: 8.1

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition

  • kberrmsg kbregistry kbprb KB815281
Comentários
body>