sexta-feira, 15 de outubro de 2010

SISS - Fazendo diferencial entre duas tabelas em BDs distintos

Hoje precisei fazer um négocio muito intrigante.
A tarefa era ler dados de uma tabela de um database A ( SQL Server 2005 ) e inserir em outra num outro database B (SQL Server 2000).
O problema era o seguinte: eu não podia duplicar as linhas existentes em B, logo, os dados que deveriam ser inseridos no db A era o diferencial entre as duas tabelas, ou seja, o que estava no db A e não estava no db B.
Pesquisando na internet, encontrei este artigo : SSIS: Checking if a row exists and if it does, has it changed?. Por sinal, o artigo é muito bom.
A idéia é central é utilizar a saída de erro do componente Lookup como entrada de dados no destino que você deseja.
Fiz e funcionou correatamente, infelizmente não vou poder postar meu pacote DTS aqui porque está vinculado aos servidores da empresa em que trabalho hoje, mas num outro momento eu posto um exemplo mais didático. Lembro que no artigo supracitado está bem explicado, eu demorei um pouco mas consegui fazer consultando-o.


Até a próxima.

Nenhum comentário: