Plataforma de BI dentro do SQL Server 2008 – prt 6

Fala galera, neste post, vou mostrar uma das formas de utilizar o SSIS (SQL Server Integration Services) para importar dados para o SQL Server 2008 R2. Vou mostrar como popular uma tabela já existente com base em um arquivo de texto simples. Utilizarei o Import and Export Data que é uma ferramenta que já acompanha o SQL Server e não nos obriga a criar um projeto no BIDS (Business Intelligence Development Studio) que é o Visual Studio 2008 com um template para se trabalhar com BI. O Import and Export Data é muito mais limitado que o BIDS, mas para esse propósito que vou utilizar, é ideal!

Para gerar a massa de dados que vou utilizar para explicar (e aprender) BI, criei uma tabela de clientes e nesta tabela preciso inserir nomes à eles. Estou tentando fazer uma forma mais automatizada para criar esses dados, por isso, procurei na internet algum site que pudesse me dar uma lista de nomes. Para minha felicidade, encontrei esse site com uma lista bem diferente: http://fernando.felix.vilabol.uol.com.br/humor/nomes.html

Copiei a lista com os nomes e salvei em um arquivo txt, no qual de o nome de nomes.txt. Se quiser baixar o arquivo que usei pra importar no SQL Server, pode pegar diretamente no meu Skydrive: http://cid-e2bc89dfc1ec2551.skydrive.live.com/browse.aspx/.Public/BI

Para importar esse arquivo para o SQL Server, vou criar uma tabela simples para armazenar esse nomes.

create table tbl_Nomes
(id_nome int identity(1,1) not null
, nome varchar(100) not null)

Depois de criada a tabela, é hora de abrir o aplicativo Import and Export Data, ele fica dentro da pasta do SQL Server 2008 R2. Veja no caminho abaixo:image

A primeira tela que se abre, é uma tela de boas vindas, ela não realiza nenhuma atividade especial no processo. É só avançar sem nenhum problema.

image 

A segunda tela é bem importante, é aqui que selecionamos a origem dos nossos dados. Como vamos importar informações de um arquivo txt, no primeiro combo (no topo da tela) a origem que deve ser selecionada éFlat File Source. Nesta combo existem outras diversas origem de dados, mas nesse caso específico será o Flat File. Após escolher essa opção, os campos da tela se adaptam à ela e solicitam informações sobre o arquivo. O botão “Browse…” nos permite escolher o arquivo que será utilizado para importar os dados. Selecionamos este arquivo e algumas informações relativa à ele são preenchidas. Se quiser dar uma olhada nos dados que tem no arquivo, vá até a opção “Preview” que está na listagem à esquerda na tela. Depois de escolher o arquivo, pode avançar para a próxima tela clicando em “Next >”

Sugestão 1: Altere a propriedade “Header row delimiter:” para “Comma (,)” assim ele vai quebrar a linha em cada virgula que ele encontrar.

Sugestão 2: Vá até o item “Advanced” na listagem da esquerda, selecione a coluna que tem seus dados (você vai saber qual é, olhando em “Preview”) e vá até a propriedade OutputColumnWidth e mude de 50 para 100. Esse é o tamanho da coluna, se deixar 50, alguns nomes podem ser truncados.

image

A terceira tela que será utilizada, é a tela referente ao destino dos dados, neste caso, como vamos colocar os dados do arquivo no SQL Server 2008 R2, vou selecionar minha instância e realizar a autenticação no servidor, após a autenticação eu posso escolher o Database que vou armazenar meus dados. Após preencher esses campos vou avançar de tela.

image

A tela seguinte permite escolher em qual tabela do banco os dados serão armazenados. Por padrão, ele sugere criar uma tabela nova com o nome do arquivo, mas isso não é obrigatório, veja que neste caso vamos preencher a tabela que criamos lá em cima, a tbl_nome. Para informar à essa ferramenta qual coluna do arquivo irá preencher qual coluna da tabela, vamos clicar no botão “Edit Mappings…” lá no final da tela.

Nesta edição de colunas, no item Destination da Column1 deixe como <ignore> e então selecione o Destination da Column0 como nome. Não dá pra fazer em outra ordem porque a princípio o destination “nome” está alocado para a column1.

image

Após a escolha da tabela de destino e a coluna que receberá os dados do arquivo, a ferramenta nos pergunta se quer executar o processo imediatamente ou se quer armazenar para realizações futuras. No nosso caso, vamos apenas popular esta tabela agora, então não teremos problema em mandar executar agora e não salvar essa configuração. Para isso, marque a opção “Run immediately” e desmarque a opção “Save SSIS Package”. E novamente, avance.

 image

Este é o penúltimo passo, ele mostra um resumo do que será realizado e solicita que clique em “Finish” para realizar o processo.

image

Ao clicar em finalizar, o processo começa a ser executado e se estiver tudo configurado certo não haverá problema e uma tela parecida abaixo com essa será apresentada. Veja que todos os passos foram executados com sucesso.

image

Agora pra provar a inclusão dos dados na tabela, fiz um SELECT simples e retornaram os 244 registros incluídos.

image

Reparem que os nomes estão com uma virgula no final, para resolver isso, eu fiz um update removendo elas do registro. O update é esse:

update tbl_Nomes set nome = replace(nome, ‘,’, ”)

Essa ferramenta é bem útil para importar e exportar dados de um lugar para outro, neste exemplo utilizamos para ler um arquivo TXT e salvar no SQL Server 2008 R2.

Sobre Diego Nogare 350 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.