domingo, 10 de outubro de 2010

ETL no excel, com overwrite de dados

Sintoma: Pacote de integração, desenvolvido no SSIS 2005, ao fazer o output dos dados no Excel, realiza o append dos dados e não o overwrite, gerando inconsistência indesejada e não atendendo a necessidade do cliente.

Causa: Trata-se de uma característica inerente ao componente.

Resolução: Pensei em diversas soluções para o problema, como por exemplo utilizar uma FILE SYSTEM TASK, excluindo e criando novamente o arquivo xls, porém optei por uma solução mais "pragmática", digna da definição "Ajustes Técnicos".

Adicionei dois Script Task, conectando os dois ao Connection Manager que apontava para o Excel.

Figura 1 - Scripts Tasks adicionados antes do Data Flow


No primeiro deles, exclui a "planilha" que recebe os dados. Como a ação será executada contra uma planilha, o nome da pasta deve estar entre os acentos (" ` ").

Figura 2 - Drop table na planilha, no primeiro Script Task




 No Script Task seguinte, "criei" a tabela com um comando CREATE TABLE, utilizando metadados que atendem os dados de origem.


Até a próxima!

Nenhum comentário:

Postar um comentário

Leave your comment here!