Início > Integration Services > Importar dados de um arquivo txt para uma base de dados

Importar dados de um arquivo txt para uma base de dados

Olá. Consegui escrever meu primeiro artigo de 2011 e assim com o primeiro post de 2010 esse artigo é sobre Integration Services.

A integração entre sistema sempre está presente entre as aplicações.  Em um artigo anterior demonstrei como capturar as informações que estão na base de dados e colocá-las em um arquivo TXT. Nesse artigo vou demostrar o processo inverso, através de um arquivo TXT realizar uma inserção em uma tabela do banco de dados.

Para realizar esse exemplo eu criei uma tabela em um banco de dados qualquer chamado MUNICIPIO. Abaixo temos o script.

CREATE TABLE [dbo].[MUNICIPIO]
(
	[CD_MUNICIPIO] [numeric](10, 0) NOT NULL,
	[NM_MUNICIPIO] [varchar](100) NULL,
	[CD_UF] [varchar](2) NULL,
)
GO

ALTER TABLE MUNICIPIO ADD CONSTRAINT MUNICIPIO_PK PRIMARY KEY (CD_MUNICIPIO)
GO

Com nossa tabela criada vamos criar agora um arquivo que irá conter as informações que serão migradas para nossa base de dados. O conteúdo do TXT segue abaixo:

0001;Barra Bonita;SP
0002;São Paulo;SP
0003;Rio de Janeiro;RJ
0004;Curitiba;PR
0005;Palmas;TO
0006;União dos Palmares;AL

Salve o txt e coloque o nome de município.txt. Agora vamos ao nosso projeto, execute o SQL Server Business Intelligence Development Studio, clique em File > New > Project e crie um projeto do tipo Integration Services Project. Chame de ImportarMunicipio.

Acesse a toolbox e arraste para dentro Control Flow o componente Data Flow Task. Clique duas vezes sobre o componente para ser levado para a guia Data Flow.

Nessa guia vamos arrastar dois componentes, o primeiro é Flat File Source. Esse componente irá acessar um arquivo como base de dados. No nosso exemplo o arquivo município.txt que criamos.

De duplo clique sobre o componente Flat File Source e a janela Flat File Sourece Editor será exibida. Clique no botão New e uma nova janela será exibida.

Na coluna Connection manager name preencha com Município. Na coluna File name clique no botão browser e selecione o arquivo txt que criamos. Veja que existem outras opções nessa janela, nesse artigo não vou explicar sobre eles, deixamos para outra oportunidade.

Após selecionar o arquivo, do lado direito você verá a opção Columns, selecione essa opção e você verá que o próprio componente já conseguiu formatar o arquivo nas colunas. Veja na imagem abaixo.

 

Agora selecione a opção Advanced. Aqui vamos formatar o nome das colunas e o tamanho dos campos conforme criamos nossa tabela, veja na imagem abaixo como deve ficar.

Clique no botão OK até retornar a guia Data Flow.

Vamos utilizar o segundo componente que se chama ADO NET Destination. Com esse componente vamos informar para qual base de dado e para qual tabela irão às informações de nosso arquivo txt.

Primeiro selecione a seta verde do componente Flat File Source e ligue com o componente ADO.NET Destination.

Clique duas vezes nesse componente, uma mensagem será exibida informando que esse componente não tem colunas de entrada e se desejamos configura-lo, clique na opção Yes.

Com a janela ADO.NET Destination Editor aberta clique no botão New ao lado de Connection manager para criamos uma nova conexão, no caso com a base em que criamos a tabela MUNICIPIO. (não vou explicar como criar uma conexão, caso exista dificuldade acesse meu artigo anterior aqui).

Com a conexão criada, na opção Use a table or view, selecione a tabela MUNICIPIO em seguida clique na opção Mappings. Você verá que o próprio componente já conseguiu relacionar as colunas do arquivo com as colunas do componente ADO.NET Destination, isso porque no passo anterior colocamos os nomes das colunas do arquivo txt igual as da tabela MUNICIPIO, caso isso não fosse feito, teríamos que informar as colunas para o componente ADO.NET Destination. Veja na imagem abaixo como ficou.

Pronto agora clique em OK e compile seu projeto. Veja que os passos ficarão verde, faça uma consulta em sua tabela no banco de dados e veja que os dados do arquivo foram inseridos com sucesso na tabela.

Espero que tenham gostado pessoal, esse é o primeiro de muitos artigos de 2011, até a próxima :D.

 

Anúncios
  1. Nenhum comentário ainda.
  1. janeiro 10, 2011 às 7:42 am
  2. agosto 6, 2012 às 3:04 pm

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: