Instrução

Trabalhar com Oracle Workspace Manager e um geodatabase Enterprise

Last Published: November 23, 2022

Resumo

As instruções fornecidas neste artigo descrevem um fluxo de trabalho geral para trabalhar com versionamento do Oracle.

O objetivo deste artigo é demonstrar como trabalhar com o versionamento do Oracle, mas não usando o versionamento dogeodatabase Enterprise, e como editar e verificar as alterações de dados do ArcGIS Desktop (ArcMap).

Nota: Ainda há algumas limitações para trabalhar com o Oracle Workspace Manager em classes de feição do geodatabase, como a incapacidade de visualizar as alterações de dados do ArcCatalog. Mesmo com o ArcMap, uma DLL complementar de terceiros é necessária para executar SQL diretamente do ArcMap para que as áreas de trabalho possam ser trocadas dentro de uma sessão do ArcMap.
Nota: O software ArcSDE, incluindo o servidor de aplicativos, ferramentas de comando e SDK com APIs C e Java, foi descontinuado no ArcGIS 10.2.2 e não é mais distribuído. Os recursos do software ArcGIS foram descontinuados, ao invés de removidos imediatamente, para fornecer aos clientes compatibilidade com versões anteriores e dar o aviso com a maior antecedência possível para a adoção de tecnologia mais recente.

Procedimento

Ambos o ArcMap e Oracle SQL*Plus são usados no seguinte fluxo de trabalho.

  1. Baixe e registre a ferramenta de script 'ExecuteSQL' no ArcMap a partir do link abaixo. Após a instalação, os comandos SQL podem ser executados a partir de uma sessão do ArcMap. Comando ExecuteSQL do ArcMap
  2. O uso do SQL*Plus, habilita o versionamento em uma tabela que mantém o histórico:
SQL> EXEC dbms_wm.EnableVersioning(table_name => 'TEST_SDO', hist => 'VIEW_WO_OVERWRITE');
  1. O uso do SQL*Plus, cria uma área de trabalho de teste.
SQL> EXEC dbms_wm.createWorkspace('LOGON_TEST');
Nota: Uma Oracle Workspace é como uma versão em um geodatabase. A área de trabalho padrão para um contexto de sessão é denominada LIVE.
  1. Abra uma conexão direta/conexão de 3 camadas no ArcMap e adicione a camada TEST_SDO.
  2. Em Editor > Opções, desmarque a opção de editar uma versão do banco de dados com a capacidade de desfazer e refazer, de forma que as edições sejam gravadas diretamente na tabela base, e comece a editar.
  3. Troque para a área de trabalho na janela Executar SQL.
begin dbms_wm.gotoWorkspace('LOGON_TEST'); end;
  1. No ArcMap, abra a tabela de atributos e atualize uma coluna de atributos, por exemplo, atualize a coluna "APP_NO" para definir o valor como "123" para uma feição específica (objectid = 21569).
  2. Salve as edições e selecione Editor> Parar Edição.
  3. Do SQL*Plus, execute código seguinte.
SQL> selecione app_no de test_sdo onde objectid=21569; APP_NO --------------------
  1. No SQL*Plus, troque para a área de trabalho correta.
SQL> EXEC dbms_wm.gotoWorkspace('LOGON_TEST');
  1. Execute a consulta novamente e observe as alterações.
SQL> select app_no from test_sdo where objectid=21569; APP_NO -------------------- 123
  1. Volte ao ArcMap, inicie a edição novamente, exclua uma feição (objectid=21986) e crie duas novas feições (objectid=22030,22031). Pare a edição e salve as edições.
  2. Execute as seguintes consultas para verificar novamente as alterações do SQL*Plus para a mesma área de trabalho.
SQL> select count(*) from test_sdo where objectid>22029; COUNT(*) ---------- 2 SQL> select count(*) from test_sdo where objectid=21986; COUNT(*) ---------- 0
  1. Volte ao ArcMap, altere a área de trabalho de volta para a área de trabalho padrão e atualize a sessão do ArcMap. As alterações acima não são mais visíveis; essas alterações foram realizadas em uma área de trabalho diferente (versão).
begin dbms_wm.gotoWorkspace('LIVE'); end;

ID do Artigo:000011459

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema