Ir para o conteúdo

Atualização de Banco de Dados Ou Atividade de Upsert

Introdução

Uma atividade Database Update atualiza os dados existentes em um endpoint do banco de dados, enquanto uma atividade Database Upsert atualiza os dados existentes e insere novos dados em um endpoint do banco de dados. Ambos se destinam a ser usados como alvo para consumir dados em uma operação ou para serem chamados em um script. (O Harmony oferece suporte a atividades de Upsert para bancos de dados usando uma combinação de Consulta, Inserção e Atualização.) Depois de configurar uma conexão de banco de dados, você pode configurar quantas atividades de banco de dados desejar para cada conexão de banco de dados.

Essas atividades são abordadas juntas, pois ambas as atividades exigem que pelo menos uma chave de atualização seja selecionada para usar como campo ou campos para identificar quais registros precisam ser atualizados, e as etapas para configurar uma atividade de Atualização de Banco de Dados ou Upsert são as mesmas.

Crie uma Atividade de Banco de Dados

Uma instância de uma atividade é criada a partir de uma conexão usando um tipo de atividade.

Para criar uma instância de uma atividade, arraste o tipo de atividade para a quadro de design ou copie o tipo de atividade e cole-o na quadro de design. Para obter detalhes, consulte Criando uma instância de atividade em Reutilização de componentes.

Uma atividade existente pode ser editada nestes locais:

Configurar uma Atualização de Banco de Dados Ou Atividade de Upsert

As etapas para configurar uma atividade de Atualização de Banco de Dados ou Upsert são as mesmas; no entanto, essas etapas diferem dependendo se você precisa unir vários objetos:

Atualização Ou Upsert de Objeto Único

Siga estas etapas se a atualização ou upsert do banco de dados for para um único objeto e você não precisar criar junções com outros objetos. Se você precisar unir vários objetos, consulte Atualização ou Upsert de múltiplos objetos.

Etapa 1: Insira um Nome e Selecione um Objeto

atividade de atualização do banco de dados 1 único objeto

  • Nome: Insira um nome a ser usado para identificar a atividade do banco de dados. O nome deve ser exclusivo para cada atividade de Atualização de Banco de Dados ou Upsert e não deve conter barras (/) ou dois pontos (:).
  • Forneça a referência de nomes de tabelas: Esta seção exibe as tabelas disponíveis no endpoint do banco de dados usando quaisquer filtros aplicados, após usar o ícone de atualização ícone de atualização para o carregamento inicial de objetos. Se houver um grande número de objetos no banco de dados, é recomendável filtrar os objetos usando Visualizar ou Pesquisar antes da atualização.

    • Visualizar: Use o menu suspenso para filtrar a lista de objetos exibidos para uma das "Tabelas, Visualizações", "Tabelas", "Visualizações" ou "Tabelas do Sistema". Por padrão, a visualização "Tabelas, Visualizações" é mostrada.

    • Pesquisar: Insira qualquer parte do nome do objeto na caixa de pesquisa para filtrar a lista de objetos. A busca não diferencia maiúsculas de minúsculas. A lista de objetos pode ser filtrada automaticamente ou pode ser necessário atualizá-la, dependendo se os objetos já foram recuperados:

      • Se estiver pesquisando objetos que já foram recuperados do banco de dados e já aparecem na lista, quaisquer termos de pesquisa digitados na caixa de pesquisa filtrarão automaticamente a lista.

      • Se estiver pesquisando em objetos que ainda não foram recuperados, por exemplo, ao tentar limitar o número de objetos recuperados para bancos de dados com um grande número de objetos, use o ícone de atualização próximo à caixa de pesquisa para busque os objetos do banco de dados usando o filtro.

      Nota

      Para bancos de dados que não suportam pesquisa em objetos, como o Microsoft Access, nenhum resultado é retornado.

    • Atualizar: Clique no ícone de atualização ícone de atualização para carregar ou recarregar tabelas do endpoint do banco de dados. Isto deve ser usado para o carregamento inicial de quaisquer objetos. Além disso, também pode ser útil se você tiver adicionado recentemente objetos ao banco de dados ou se tiver critérios de pesquisa adicionais que deseja aplicar antes de recuperar objetos do banco de dados.

    • Incluir o esquema/proprietário nos nomes das tabelas: Marque esta caixa de seleção para incluir o esquema nos nomes das tabelas. Isso pode ser útil se você usar o mesmo nome de tabela em vários esquemas (como para desenvolvimento e produção) para permitir ver e selecionar a tabela no esquema correto.

    • Forneça a referência dos nomes das tabelas: A lista de objetos é exibida em uma coluna à esquerda. Clique em um único objeto para adicioná-lo à tabela à direita. Se você estiver atualizando ou fazendo upsert para vários objetos que precisam ser unidos, consulte Atualização ou Upsert de múltiplos objetos.

      Dica

      Se a lista não for preenchida com objetos disponíveis mesmo após a aplicação de um filtro, a opção Conexão com banco de dados pode não ter sucesso. Certifique-se de estar conectado reabrindo a conexão e testando novamente as credenciais.

    • Tabela de Objetos Selecionados: O objeto selecionado é exibido em uma tabela à direita. As colunas nesta tabela não são relevantes para atualizações ou upserts de objeto único e não podem ser editadas.

    • Salvar e Sair: Se ativado, clique para salvar a configuração desta etapa e feche a configuração da atividade.
    • Próximo: Clique para armazenar temporariamente a configuração desta etapa e continuar para a próxima etapa. A configuração não será salva até que você clique no botão Concluído na última etapa.
    • Descartar alterações: Após fazer as alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Etapa 2: Selecione as Chaves de Atualização

objeto único da atividade de atualização do banco de dados 2

  • Select Keys: Marque as caixas de seleção de quaisquer campos que você deseja usar como chaves de atualização. Você também pode selecionar um objeto inteiro para selecionar todos os seus campos de uma só vez. Chave(s) de atualização são os campos usados para identificar quais registros existentes precisam ser atualizados. Todos os campos selecionados para serem usados como chaves de atualização são listados à direita.
  • Voltar: Clique para armazenar temporariamente a configuração desta etapa e retornar à etapa anterior.
  • Próximo: Clique para armazenar temporariamente a configuração desta etapa e continuar para a próxima etapa. A configuração não será salva até que você clique no botão Concluído na última etapa.
  • Descartar alterações: Após fazer as alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Etapa 3: Revise o Esquema de Dados

atividade de atualização de banco de dados 3 objeto único

  • Esquema de dados: O esquema de dados de destino é exibido. Se a operação usar uma transformação, os esquemas de dados serão exibidos novamente posteriormente durante o mapeamento da transformação, onde você pode mapear campos de destino usando objetos de origem, scripts, variáveis, valores personalizados e muito mais.

    Nota

    Os dados são transferidos conforme são fornecidos. Se houver incompatibilidades de comprimento de dados entre os campos de origem e de destino, você poderá usar String Functions para cortar os dados.

    Nota

    Para atualizar um esquema de dados em uma atividade existente, você deve avançar novamente em cada etapa de configuração da atividade, fazendo pelo menos uma alteração (como adicionar e remover um caractere do final do nome da atividade ) para forçar uma atualização do esquema.

  • Voltar: Clique para armazenar temporariamente a configuração desta etapa e retornar à etapa anterior.

  • Concluído: Clique para salvar a configuração de todas as etapas e fechar a configuração da atividade.

  • Descartar alterações: Após fazer as alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Atualização Ou Upsert de Vários Objetos

Siga estas etapas se a atualização ou upsert do banco de dados for para vários objetos e você precisar criar junções entre eles. Para atualizar ou fazer upsert apenas para um único objeto, sem junções, consulte Atualização ou Upsert de objeto único.

Etapa 1: Insira um Nome e Selecione Objetos

atividade de atualização de banco de dados 1 vários objetos

  • Nome: Insira um nome a ser usado para identificar a atividade do banco de dados. O nome deve ser exclusivo para cada atividade de Atualização de Banco de Dados ou Upsert e não deve conter barras (/) ou dois pontos (:).
  • Forneça a referência de nomes de tabelas: Esta seção exibe as tabelas disponíveis no endpoint do banco de dados usando quaisquer filtros aplicados, após usar o ícone de atualização ícone de atualização para o carregamento inicial de objetos. Se houver um grande número de objetos no banco de dados, é recomendável filtrar os objetos usando Visualizar ou Pesquisar antes da atualização.

    • Visualizar: Use o menu suspenso para filtrar a lista de objetos exibidos para uma das "Tabelas, Visualizações", "Tabelas", "Visualizações" ou "Tabelas do Sistema". Por padrão, a visualização "Tabelas, Visualizações" é mostrada.

    • Pesquisar: Insira qualquer parte do nome do objeto na caixa de pesquisa para filtrar a lista de objetos. A busca não diferencia maiúsculas de minúsculas. A lista de objetos pode ser filtrada automaticamente ou pode ser necessário atualizá-la, dependendo se os objetos já foram recuperados:

      • Se estiver pesquisando objetos que já foram recuperados do banco de dados e já aparecem na lista, quaisquer termos de pesquisa digitados na caixa de pesquisa filtrarão automaticamente a lista.

      • Se estiver pesquisando em objetos que ainda não foram recuperados, por exemplo, ao tentar limitar o número de objetos recuperados para bancos de dados com um grande número de objetos, use o ícone de atualização próximo à caixa de pesquisa para busque os objetos do banco de dados usando o filtro.

      Nota

      Para bancos de dados que não suportam pesquisa em objetos, como o Microsoft Access, nenhum resultado é retornado.

    • Atualizar: Clique no ícone de atualização ícone de atualização para carregar ou recarregar tabelas do endpoint do banco de dados. Isto deve ser usado para o carregamento inicial de quaisquer objetos. Além disso, também pode ser útil se você tiver adicionado recentemente objetos ao banco de dados ou se tiver critérios de pesquisa adicionais que deseja aplicar antes de recuperar objetos do banco de dados.

    • Incluir o esquema/proprietário nos nomes das tabelas: Marque esta caixa de seleção para incluir o esquema nos nomes das tabelas. Isso pode ser útil se você usar o mesmo nome de tabela em vários esquemas (como para desenvolvimento e produção) para permitir ver e selecionar a tabela no esquema correto.

    • Forneça a referência dos nomes das tabelas: A lista de objetos é exibida em uma coluna à esquerda. Clique nos objetos, um de cada vez, para adicioná-los à tabela à direita. Qualquer combinação de tabelas, visualizações e/ou tabelas de sistema pode ser selecionada. Se, em vez disso, você precisar atualizar ou fazer upsert de um único objeto sem junções, consulte Atualização ou Upsert de objeto único.

      Dica

      Se a lista não for preenchida com objetos disponíveis mesmo após a aplicação de um filtro, a opção Conexão com banco de dados pode não ter sucesso. Certifique-se de estar conectado reabrindo a conexão e testando novamente as credenciais.

    • Tabela de Objetos Selecionados: Os objetos selecionados são exibidos em uma tabela à direita. Cada coluna é detalhada abaixo:

      tabela 1 de múltiplos objetos do banco de dados

      • Tabela: O nome do objeto selecionado, uma tabela, visualização ou tabela de sistema.

      • Pai: Em cada objeto filho sendo unido, use o menu suspenso para selecionar o nome do objeto que deve ser o pai. Isso é necessário para impor a integridade transacional de um objeto, bem como para derivar a(s) chave(s) de link para um objeto filho.

      • Tipo de junção: Em cada objeto filho sendo unido, um menu suspenso fica disponível depois que você atribui Chaves de link (abordado a seguir). Use o menu suspenso para definir o tipo de relacionamento entre os objetos selecionados:

        • Um ou mais: Este tipo de junção exige que cada registro pai tenha pelo menos 1 registro filho e possivelmente mais registros filhos.
        • Apenas um: Este tipo de junção requer que cada registro pai tenha 1 e apenas 1 registro filho.
        • Zero ou Mais: Este tipo de junção permite que cada registro pai tenha 0 ou mais registros filhos.
        • Zero ou Um: Este tipo de junção permite que cada registro pai tenha 0 registros filho ou apenas 1 registro filho.
      • Chaves de link: Em cada objeto filho sendo unido, quando um objeto é selecionado como Pai, um link vermelho Atribuir aparece neste campo. Clique em Atribuir para abrir uma janela separada onde você atribui as chaves de link:

        teclas de link de atribuição de banco de dados

        • Objeto pai: O objeto pai e a lista de campos são exibidos na coluna da esquerda. Quaisquer campos usados como chaves primárias no banco de dados são indicados por um ícone de chave anexo. Se você tiver um grande número de campos, poderá usar a caixa de pesquisa para filtrar os campos por nome.

        • Objeto filho: O objeto filho e a lista de campos são exibidos na coluna da direita. Se você tiver um grande número de campos, poderá usar a caixa de pesquisa para filtrar os campos por nome.

        • Atribuir chave(s) de link: Para atribuir um campo como chave de link, arraste um campo do objeto pai à esquerda para um campo dentro do objeto filho à direita ou vice-versa. Para atribuir várias chaves de link, repita este processo.

        • Cancelar atribuição de chaves de link: Para cancelar a atribuição de chaves de link, clique em qualquer campo que já tenha sido vinculado. Os campos vinculados ficam desmarcados.

        • Recomeçar: Para limpar todas as chaves de link atribuídas, clique em Recomeçar localizado abaixo da lista pai à esquerda.

        • Concluir: Clique em Concluir para salvar as chaves de link atribuídas e fechar a janela. Em Chaves de link, você deverá ver agora o número de chaves de link atribuídas, nas quais você pode clicar para reabrir a janela de atribuição de chave de link. Além disso, o menu suspenso Tipo de junção fica disponível para você definir o tipo de relacionamento (cardinalidade) entre os objetos selecionados:

          tabela 2 de múltiplos objetos do banco de dados

      • Remover: Para remover um objeto selecionado da tabela, passe o mouse sobre a coluna mais à direita e clique no ícone de remoção ícone de exclusão.

      • Salvar e Sair: Se ativado, clique para salvar a configuração desta etapa e fechar a configuração da atividade.

      • Próximo: Clique para armazenar temporariamente a configuração para esta etapa e continuar para a próxima etapa. A configuração não será salva até que você clique no botão Concluído na última etapa.

      • Descartar alterações: Após fazer alterações, clique para fechar a configuração sem salvar as alterações feitas em qualquer etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Etapa 2: Selecione as Chaves de Atualização

atividade de atualização de banco de dados 2 vários objetos

  • Select Keys: Marque as caixas de seleção de quaisquer campos que você deseja usar como chaves de atualização. Você também pode selecionar um objeto inteiro para selecionar todos os seus campos de uma só vez. Chave(s) de atualização são os campos usados para identificar quais registros existentes precisam ser atualizados. Todos os campos selecionados para serem usados como chaves de atualização são listados à direita.
  • Voltar: Clique para armazenar temporariamente a configuração desta etapa e retornar à etapa anterior.
  • Próximo: Clique para armazenar temporariamente a configuração desta etapa e continuar para a próxima etapa. A configuração não será salva até que você clique no botão Concluído na última etapa.
  • Descartar alterações: Após fazer as alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Etapa 3: Revise o Esquema de Dados

atividade de atualização de banco de dados 3 vários objetos

  • Esquema de dados: O esquema de dados de destino é exibido. Se a operação usar uma transformação, os esquemas de dados serão exibidos novamente posteriormente durante o mapeamento da transformação, onde você pode mapear campos de destino usando objetos de origem, scripts, variáveis, valores personalizados e muito mais.

    Nota

    Para atualizar um esquema de dados em uma atividade existente, você deve avançar novamente em cada etapa de configuração da atividade, fazendo pelo menos uma alteração (como adicionar e remover um caractere do final do nome da atividade ) para forçar uma atualização do esquema.

  • Voltar: Clique para armazenar temporariamente a configuração desta etapa e retornar à etapa anterior.

  • Concluído: Clique para salvar a configuração de todas as etapas e fechar a configuração da atividade.

  • Descartar alterações: Após fazer as alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme que deseja descartar as alterações.

Próximos Passos

Depois de configurar uma atividade de Atualização de Banco de Dados ou Upsert, você poderá usá-la em uma operação ou script conforme descrito abaixo. Você também pode configurar a fragmentação de dados para dividir os dados em partes menores para processamento.

Conclua a Operação

Depois de configurar uma atividade Database Update ou Upsert, conclua a configuração da operação adicionando e configurando outras atividades, transformações ou scripts como etapas de operação. Você também pode definir as configurações de operação de uma operação, que incluem a capacidade de encadear operações que estejam no mesmo fluxo de trabalho ou em workflows diferentes.

Depois que uma atividade de atualização de banco de dados ou Upsert for criada, as ações de menu para essa atividade estarão acessíveis no painel do projeto nas guias Workflows ou Componentes e na quadro de design. Consulte Menu Ações de Atividade para detalhes.

As atividades de atualização de banco de dados ou Upsert podem ser usadas como destino com estes padrões de operação:

Outros padrões não são válidos usando atividades de Atualização de Banco de Dados ou Upsert. Veja os padrões de validação na página Validade da Operação página.

Dentro de uma transformação, se estiver usando a opção para espelhar um esquema fornecido por uma atividade de banco de dados usando uma única tabela (sem junções), o esquema espelhado resultante é criado automaticamente com um nó adicional denominado row. Quando os campos dentro deste nó adicional são mapeados, o nó se torna um nó de loop para permitir que todos os registros sejam repetidos (consulte Nós de Loop em Nós e Campos).

Além disso, ao unir tabelas de banco de dados, observe que os valores dos campos associados de uma tabela filho são padronizados como os valores dos campos associados da tabela pai. Os campos associados de uma tabela filho não podem ser mapeados.

Quando estiver pronto, implantar e execute a operação e valide o comportamento verificando os logs de operação.

Usando Atividades de Banco de Dados em Scripts

Atividades de atualização de banco de dados ou Upsert também podem ser referenciadas em um script para uso com funções de script que usam um banco de dados target como parâmetro, incluindo estes:

  • DBLoad
  • DBWrite

Para obter mais detalhes sobre como referenciar atividades em scripts, consulte Endpoints em Jitterbit Script.

Além disso, você poderá usar funções adicionais de banco de dados na transformação. Por exemplo, no mapeamento para um destino de banco de dados, se você tiver um destino de múltiplas tabelas com relacionamentos pai-filho e estiver atualizando ou fazendo upserting de dados, poderá usar as funções de transformação <SQLIDENTITY> e <SEQUENCE>.

  • <SQLIDENTITY> é usado para todos os bancos de dados de destino não Oracle que suportam chaves de geração automática de identidade ou número. Após a inserção do pai, o filho pode herdar o número gerado do pai mapeando esta função para a chave estrangeira na tabela filho.
  • <SEQUENCE> executa uma ação semelhante com bancos de dados Oracle.

Usar Fragmentação

Ao usar a fragmentação de dados em uma operação em que o destino é uma atividade de banco de dados, observe que os dados de destino são primeiro gravados em vários arquivos temporários (um para cada fragmento). Esses arquivos são então combinados em um arquivo de destino, que é enviado ao banco de dados para inserção/atualização.

Se você definir a variável Jitterbit jitterbit.target.db.commit_chunks para 1 ou true quando o fragmentação de dados está habilitado, cada chunk é, em vez disso, confirmado no banco de dados assim que estiver disponível. Isso pode melhorar significativamente o desempenho, pois as inserções/atualizações do banco de dados são executadas em paralelo.

Para obter instruções e práticas recomendadas sobre o uso de fragmentação de dados, consulte Opções de operação.