Você pode usar um cache de pesquisa dinâmica para inserir e atualizar linhas no destino. Quando você usar um cache de pesquisa dinâmica, pode inserir e atualizar as mesmas linhas do cache que você inserir e atualizar no destino.
Por exemplo, você precisa atualizar uma tabela que contém dados do cliente. Os dados de origem contêm linhas de dados do cliente para inserir ou atualizar no destino. Crie um cache dinâmico que represente o destino. Configure uma transformação de Pesquisa para os clientes de pesquisa no cache dinâmico.
A seguinte figura mostra um mapeamento que possui uma transformação de Pesquisa com um cache de pesquisa dinâmica:
A transformação de Roteador é dividida em duas ramificações. A transformação de Roteador transmite as linhas de inserção em uma ramificação e as atualiza em outra. Cada ramificação contém uma transformação de Estratégia de Atualização que grava linhas no destino. As duas ramificações contêm o mesmo destino.
Quando o mapeamento inicia, o Serviço de Integração cria o cache de pesquisa a partir de clientes de tabela de destino. Quando o Serviço de Integração lê uma linha que não está no cache de pesquisa, ele insere a linha no cache.
A transformação de Pesquisa retorna cada linha para uma transformação Roteador. Com base na marcação da linha para inserção ou atualização, a transformação Roteador direciona a linha para uma das transformações Estratégia de Atualização. A transformação Roteador determina se as linhas estão marcadas para inserção ou atualização com base na propriedade NewLookupRow. As transformações Estratégia de Atualização marcam cada linha como inserção ou atualização antes de transferi-la para o destino.
A tabela de destino de clientes é alterada à medida que o mapeamento é executado. O Serviço de Integração insere novas linhas e atualiza as existentes no cache de pesquisa. O Serviço de Integração mantém o cache de pesquisa e a tabela de destino de clientes sincronizados.
Para gerar chaves para o destino, use Sequency-ID na porta associada. O Serviço de Integração usa a ID de sequência como a chave primária para cada nova linha inserida na tabela de destino.
O desempenho da sessão melhora quando você usa um cache de pesquisa dinâmica, pois o cache é criado no banco de dados uma vez.