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.
Mais informações: http://www.rafael-salas.com/2006/12/import-header-line-tables-_116683388696570741.html
Até a próxima!


Nenhum comentário:
Postar um comentário
Leave your comment here!