ERRO
Executar um script de Python contendo uma função de reconstruir localizador de endereços retorna a seguinte mensagem de erro:
Erro: ERRO 000005: Não foi possível abrir o localizador de endereços. Falha ao executar (RebuildAddressLocator).
Esse problema pode ocorrer pelos seguintes motivos.
Registros Desanexados
Antes de reconstruir um localizador de endereços, se novos registros forem adicionados ao banco de dados, os registros desatualizados conflitantes que ainda estiverem associados ao nome do localizador de endereços original serão retidos nas tabelas de repositório usadas pelo serviço do ArcGIS Server. Esses registros desanexados evitam que o sistema reconstrua o localizador de endereços devido a conflitos com os novos registros.
Nota: Embora o localizador de endereços possa ser reconstruído com um nome diferente, para reconstruir o localizador de endereços com o nome original, consulte a seção Solução sobre a remoção de registros desanexados.
Bloqueios
O erro é retornado quando os bloqueios ativos são colocados no localizador de endereços, evitando que o localizador seja reconstruído. Os bloqueios ativos estão em vigor, pois há outros serviços ainda acessando o serviço de geocodificação. Para mais informações sobre como funciona os bloqueios, consulte ArcMap: Bloqueio de esquema.
32-bit vs. 64-bit
Executar a reconstrução de script do localizador de endereços em uma linha de comando de 64 bits retorna este erro, pois o script pode solicitar ferramentas ou funções que não são suportadas por um ambiente de 64 bits. Há casos onde algumas ferramentas e programas do ArcMap são executados no ambiente de 64 bits, apesar de uma instalação de 32 bits do ArcMap. Para mais informações, consulte ArcMap: Background Geoprocessing (64-bit).
Siga as etapas da solução que corresponde à causa do problema para encontrar uma solução.
Remover Registros Desanexados
DELETE FROM <nome_locatolizador>_lox WHERE name = <address_locator_name>; DELETE FROM SDE_locators WHERE name = <nome_localizador_endereço>; DELETE FROM SDE_metadata WHERE name = <nome_localizador_endereço>; DELETE FROM SDE_table_registry WHERE name = <nome_localizador_endereço>; DELETE FROM SDE_column_registry WHERE name = <nome_localizador_endereço>; DELETE FROM GDB_ITEMS WHERE name = <nome_localizador_endereço>;
Nota: As tabelas listadas acima são tabelas de sistema que contêm registros de um localizador de endereços.
Parar o Serviço
Para mais informações sobre como iniciar e parar um serviço, consulte Ajuda do ArcGIS: Iniciar e parar serviços.
Executar o script no ambiente de 32-bits
Execute o script com a interface da linha de comando do Python de 32-bits ao invés da versão de 64-bits. A versão de 32-bits pode ser encontrada em:
C:\Python27\ArcGIS10.x\python.exe
Além disso, se o script for executado usando o console de Python no ArcMap e falhar, altere a configuração de associação de arquivo do Windows para executar o Python no ambiente de 32 bits. Para etapas sobre como fazer isso, consulte FAQ: Por que os scripts de Python falham em uma máquina com ArcGIS for Server e Desktop instalados?
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri