PROBLEMA
A chave primária para um relacionamento pode ser baseada em um geodatabase mantido GlobalID, um aplicativo ou chave primária mantida pelo cliente ou um objectid mantido em um geodatabase. Em alguns casos de uso, as edições envolvendo relacionamentos podem ser sincronizadas incorretamente quando a chave primária para o relacionamento é baseada em uma coluna objectid (OID).
Nota: Este artigo se refere apenas às versões 9.x do ArcGIS. Versões posteriores do ArcGIS podem conter diferentes funcionalidades, bem como diferentes nomes e locais para menus, comandos e ferramentas de geoprocessamento.
A seguir está um exemplo de caso de uso em que as edições são sincronizadas incorretamente.
Considere um exemplo onde há uma classe de feição de postes e uma tabela de transformadores em uma réplica bidirecional. Neste exemplo, há uma classe de relacionamento simples entre os postes e os transformadores. Poles é a classe de origem e a chave primária é sua coluna objectid. Transformers é a classe de destino e a chave estrangeira é uma longa coluna inteira chamada poleid.
O seguinte descreve um caso de uso em que os relacionamentos não são sincronizados corretamente.
O exemplo descrito acima funcionaria corretamente se a edição para criar a relação entre o poste e o transformador tivesse sido feita na mesma geração de edições em que o poste e o transformador foram originalmente criados. Por exemplo, se o relacionamento foi criado antes da sincronização na etapa 3. O algoritmo de sincronização registra a mudança no objectid do poste na criação e usa-o para atualizar a chave externa no transformador corretamente.
Observações sobre casos de uso em que as edições são sincronizadas corretamente:
Os casos de uso em que as edições são sincronizadas corretamente correspondem a fluxos de trabalho comuns com anotação vinculada à feição, que se baseia em objectid como chave primária. O fluxo de trabalho mais comum envolve a criação de uma feição junto com sua anotação vinculada como parte da mesma sessão de edição. Após uma anotação ser criada para uma feição, seu relacionamento com essa feição não é alterada nas edições subsequentes. Nem todos os fluxos de trabalho envolvendo anotações vinculadas à feição são suportadas. Por exemplo, a criação de uma nova parte de anotação relacionada para uma feição em uma geração que não envolve a criação da feição não é suportada. Os fluxos de trabalho suportados contam com ArcGIS 9.2 Service Pack 5.
Em alguns casos de uso (consulte a seção Descrição acima), as edições envolvendo relacionamentos podem ser sincronizadas incorretamente com a replicação bidirecional e unidirecional quando a chave primária para o relacionamento é baseada em uma coluna objectid (OID).
Este problema foi resolvido no ArcGIS 9.2 Service Pack 6 e ArcGIS 9.3. Um caso adicional também foi abordado na seguinte correção ArcGIS 9.2 Service Pack 6 como também ArcGIS 9.3 Service Pack 1.
Além disso, esse problema não é encontrado ao editar e sincronizar relacionamentos com réplicas bidirecionais e unidirecionais usando colunas GlobalID ou chaves primárias definidas pelo cliente, como EquipmentID, que são exclusivas em todos os bancos de dados, como as chaves primárias no relacionamento.
No exemplo acima, onde as edições são sincronizadas incorretamente, a classe de relacionamento poderia ter sido definida com a coluna globalid dos postes como a chave primária e uma coluna guid dos transformadores como a chave externa. As classes de relacionamento que usam um globalid como a chave primária requerem uma coluna guid como a chave externa. Nesse caso de uso, o relacionamento teria sido sincronizado corretamente, uma vez que os valores globalid e guid são os mesmos nas réplicas.
Obtenha ajuda de especialistas do ArcGIS
Baixe o Esri Support App