SSIS – Agrupando linhas importadas
22 de fevereiro de 2013 Deixe um comentário
Fala Galera,
A dica de hoje é bem simples mas muito útil.
Digamos que você precisa importar um arquivo de texto para seu banco de dados e deseja eliminar as linhas duplicadas, como fazer?
Primeiramente
</p><p>USE ImportaArquivos</p><p>GO</p><p>/*Tabela que irá armazenar todos os ceps contidos em um arquivo*/</p><p>CREATE TABLE listaCEPs(</p><p> ID INT IDENTITY PRIMARY KEY,</p><p> CEP VARCHAR(8),</p><p> RUA varchar(100)</p><p>)</p><p>
Agora você irá criar um arquivo de texto, em um diretório de sua preferência, com o seguinte conteúdo:
CEP|Rua
03711110|Rua X
93711119|Rua D
03711110|Rua X
73711117|Rua W
03711110|Rua X
63711116|Rua Y
03711110|Rua X
63711116|Rua Y
Notem que temos:
O CEP 03711110 aparecendo 4x.
O CEP 93711119 aparecendo 1x.
O CEP 73711117 aparecendo 1x.
O CEP 63711116 aparecendo 2x.
Nós desejamos que não ajam linhas duplicadas, então em nossa tabela deverá existir apenas 4 registros.
Crie um novo projeto do integration services, adicione os seguintes componetnes:
- Flat file source
- Aggregate
- OLE DB Destination
Mapeie arquivo de texto criado acima no componente flat file source. Ligue-o ao componente aggregate e de dois clique nele.
Selecione as colunas que você deseja que sejam importadas e na opção “operation” selecione o group by.
Configure o OLE DB Destination para enviar os dados a nossas estrutura de tabelas criadas no passo 1.
Clique em OK e execute a DTS.
Faça um select na tabela dbo.ListaCeps para checarmos os resultados.
Por hoje é isso pessoal.
Abraços.
Dhiego Piroto