Ir para o conteúdo

Atualização do Banco de Dados Ou Atividade Upsert

Introdução

Uma atividade Database Update atualiza dados existentes em um endpoint Database, enquanto uma atividade Database Upsert atualiza dados existentes e insere novos dados em um endpoint Database. Ambas devem ser usadas como um alvo para consumir dados em uma operação ou para serem chamadas em um script. (O Harmony suporta atividades Upsert para bancos de dados usando uma combinação de Query, Insert e Update.) Após configurar uma conexão Database, você pode configurar quantas atividades Database desejar para cada conexão Database.

Essas atividades são abordadas juntas, pois ambas exigem que pelo menos uma chave de atualização seja selecionada para ser usada 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.

Criar 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 a partir destes locais:

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

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

Atualização de Objeto Único Ou Upsert

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

Etapa 1: Insira um Nome e Selecione um Objeto

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

  • Nome: Insira um nome para usar para identificar a atividade do Banco de Dados. O nome deve ser exclusivo para cada atividade de Atualização ou Upsert do Banco de Dados e não deve conter barras (/) ou dois pontos (:).
  • Forneça a referência dos nomes das 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 para o carregamento inicial de objetos. Se houver um grande número de objetos no banco de dados, é recomendável filtrar os objetos usando Exibir ou Pesquisar antes de atualizar.

    • Exibir: Use o menu suspenso para filtrar a lista de objetos exibidos para um de "Tabelas, Exibições", "Tabelas", "Exibições" ou "Tabelas do Sistema". Por padrão, a exibição "Tabelas, Exibições" é mostrada.

    • Pesquisar: Insira o valor de qualquer coluna na caixa de pesquisa para filtrar a lista de objetos. A pesquisa não diferencia maiúsculas de minúsculas. A lista de objetos pode ser filtrada automaticamente ou você pode precisar atualizar a lista, dependendo se os objetos já foram recuperados:

      • Se estiver pesquisando em objetos que já foram recuperados do banco de dados e já aparecem na lista, quaisquer termos de pesquisa digitados na caixa de pesquisa filtram 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 ao lado da caixa de pesquisa para buscar os objetos do banco de dados usando o filtro.

      Nota

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

    • Atualizar: Clique no ícone de atualização para carregar ou recarregar tabelas do endpoint do banco de dados. Isso deve ser usado para o carregamento inicial de quaisquer objetos. Além disso, também pode ser útil se você adicionou objetos recentemente 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 Schema/Owner nos nomes das tabelas: Selecione 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 schemas (como para desenvolvimento e produção) para permitir que você veja e selecione a tabela no esquema correto.

    • Forneça a Referência de Nomes de Tabela: 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 vários objetos.

      Dica

      Se a lista não for preenchida com objetos disponíveis mesmo após a aplicação de um filtro, a Conexão de banco de dados pode não ser bem-sucedido. Certifique-se de que você esteja 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 habilitado, clique para salvar a configuração para esta 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 nenhuma 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 objeto único

  • Selecionar Chaves: Marque as caixas de seleção de todos os campos que deseja usar como chaves de atualização. Você também pode selecionar um objeto inteiro para selecionar todos os seus campos de uma 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 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 mais tarde durante o mapeamento de 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 destino, você pode usar Funções de string para aparar os dados.

    Nota

    Para atualizar um esquema de dados em uma atividade existente, você deve avançar por cada etapa de configuração da atividade novamente, 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 alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem pede para você confirmar que deseja descartar as alterações.

Atualização de Múltiplos Objetos Ou Upsert

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 upsert somente para um único objeto, sem junções, consulte Atualização ou upsert de objeto único.

Etapa 1: Insira um Nome e Selecione os Objetos

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

  • Nome: Insira um nome para usar para identificar a atividade do Banco de Dados. O nome deve ser exclusivo para cada atividade de Atualização ou Upsert do Banco de Dados e não deve conter barras (/) ou dois pontos (:).
  • Forneça a referência dos nomes das 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 Exibir ou Pesquisar antes de atualizar.

    • Exibir: Use o menu suspenso para filtrar a lista de objetos exibidos para um de "Tabelas, Exibições", "Tabelas", "Exibições" ou "Tabelas do Sistema". Por padrão, a exibição "Tabelas, Exibições" é mostrada.

    • Pesquisar: Insira o valor de qualquer coluna na caixa de pesquisa para filtrar a lista de objetos. A pesquisa não diferencia maiúsculas de minúsculas. A lista de objetos pode ser filtrada automaticamente ou você pode precisar atualizar a lista, dependendo se os objetos já foram recuperados:

      • Se estiver pesquisando em objetos que já foram recuperados do banco de dados e já aparecem na lista, quaisquer termos de pesquisa digitados na caixa de pesquisa filtram 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 ao lado da caixa de pesquisa para buscar os objetos do banco de dados usando o filtro.

      Nota

      Para bancos de dados que não oferecem suporte à 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. Isso deve ser usado para o carregamento inicial de quaisquer objetos. Além disso, também pode ser útil se você adicionou objetos recentemente 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 Schema/Owner nos nomes das tabelas: Selecione 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 schemas (como para desenvolvimento e produção) para permitir que você veja e selecione a tabela no esquema correto.

    • Forneça a Referência de Nomes de Tabela: A lista de objetos é exibida em uma coluna à esquerda. Clique nos objetos um por 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 inserir novamente um único objeto sem junções, consulte Atualização ou inserção adicional 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 Conexão de banco de dados pode não ser bem-sucedido. Certifique-se de que você está 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 de objetos múltiplos do banco de dados 1

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

      • Pai: Em cada objeto filho que está 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 que está sendo unido, um menu suspenso fica disponível após você ter atribuído Chaves de Link (abordadas a seguir). Use o menu suspenso para definir o tipo de relacionamento entre os objetos selecionados:

        • Um ou mais: Este tipo de junção requer que cada registro pai tenha pelo menos 1 registro filho e possivelmente mais registros filho.
        • 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 filho.
        • Zero ou Um: Este tipo de junção permite que cada registro pai tenha 0 registros filhos ou apenas 1 registro filho.
      • Chaves de Link: Em cada objeto filho sendo unido, uma vez que um objeto é selecionado como Pai, um link vermelho Atribuir aparece dentro deste campo. Clique em Atribuir para abrir uma janela separada onde você atribui as chaves de link:

        chaves 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 dentro do 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 uma 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.

        • Desatribuir Chave(s) de Link: Para desatribuir 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, agora você deve ver o número de chaves de link atribuídas, nas quais você pode clicar para reabrir a janela de atribuição de chaves 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 de objetos múltiplos do banco de dados 2

      • 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 habilitado, clique para salvar a configuração desta etapa e fechar 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 alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem solicita que você confirme se deseja descartar as alterações.

Etapa 2: Selecione as Chaves de Atualização

atividade de atualização de banco de dados 2 objetos múltiplos

  • Selecionar Chaves: Marque as caixas de seleção de todos os campos que deseja usar como chaves de atualização. Você também pode selecionar um objeto inteiro para selecionar todos os seus campos de uma 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 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 objetos múltiplos

  • 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 mais tarde durante o mapeamento de 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 por cada etapa de configuração da atividade novamente, 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 alterações, clique para fechar a configuração sem salvar as alterações feitas em nenhuma etapa. Uma mensagem pede para você confirmar que deseja descartar as alterações.

Próximos Passos

Após configurar uma atividade Database Update ou Upsert, você pode usá-la dentro de uma operação ou script, conforme descrito abaixo. Você também pode querer configurar fragmentação de dados para dividir os dados em pedaços menores para processamento.

Concluir a Operação

Após 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 da operação. Você também pode configurar as configurações de operação de uma operação, que incluem a capacidade de encadear operações que estejam no mesmo workflows ou em fluxos de trabalho diferentes.

Depois que uma atividade Database Update ou Upsert for criada, as ações de menu para essa atividade serão acessíveis no painel do projeto nas guias Workflows ou Components e na quadro de design. Consulte menu de ações da atividade para mais detalhes.

As atividades de atualização ou inserção de dados do banco de dados podem ser usadas como um alvo com estes padrões de operação:

Outros padrões não são válidos usando atividades Database Update ou Upsert. Veja os padrões de validação em 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 percorridos (consulte Nós de loop em Nós e campos).

Além disso, se juntar tabelas de banco de dados, observe que os valores dos campos unidos de uma tabela filha são, por padrão, os valores dos campos unidos da tabela pai. Os campos unidos de uma tabela filha não podem ser mapeados para.

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

As atividades de atualização ou inserção de dados do banco de dados 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ê pode usar funções de banco de dados adicionais na transformação. Por exemplo, no mapeamento para um destino de banco de dados, se você tiver um destino de várias tabelas com relacionamentos pai-filho e estiver atualizando ou inserindo dados, você pode 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 identidade ou geração automática de números. Após o pai ser inserido, 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 de Dados

Ao usar fragmentação de dados em uma operação em que o alvo é 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 chunk). 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 à medida que se torna disponível. Isso pode melhorar o desempenho significativamente, pois as inserções/atualizações do banco de dados são realizadas em paralelo.

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