Use um cache de pesquisa dinâmica quando precisar inserir e atualizar linhas no destino. Quando você usa um cache de pesquisa dinâmica, pode inserir e atualizar o cache com os mesmos dados que você transfere ao destino para inserir e atualizar.
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 Pesquisa para os clientes de pesquisa no cache.
A figura a seguir mostra um mapeamento que possui um cache dinâmico:
A transformação de Pesquisa usa um cache de pesquisa dinâmica. Quando a sessão inicia, o Serviço de Integração cria o cache de pesquisa a partir de uma tabela Customer_List. A tabela Customer_List também é o destino no mapeamento. 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 Pesquisa retorna a linha para uma transformação Roteador. A transformação Roteador direciona a linha para a transformação UPD_Insert_New ou UPD_Update_Existing. As transformações Estratégia de Atualização marcam a linha como inserção ou atualização, antes de transferi-la para o destino.
A tabela Customer_List muda conforme a execução da sessão. 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 Customer_List sincronizados.
Para gerar chaves para o destino, use Sequency-ID na porta associada. A ID de sequência gera chaves primárias para as novas linhas que o Serviço de Integração insere na tabela de destino.
Você aumenta o desempenho de sessão quando usa um cache de pesquisa dinâmica, porque cria o cache uma vez a partir do banco de dados. Você pode continuar usando o cache de pesquisa, embora os dados da tabela de destino mudem.