sábado, 7 de junho de 2014

Criando o primeiro pacote SSIS utilizando o Import and Export Wizard



Uma das funções do SSIS é a integração de dados. Esses dados podem ser de fontes diferentes como dados de planilhas, arquivos de texto e etc.
Esse post apresenta auma forma simples e rapida de criar um pacote para transferir dados de uma planilha excel para um banco de dados SQL Server.

O arquivo excel é bem simples, apenas para demonstração, e nele encontramos dados sobre clientes e o objetivo é transferir esses dados para uma tabela no SQL Server.



 Figura 1 – Dados de origem: Tabela Clientes no arquivo Excel. 



Na figura 2 podemos verificar que o banco Blog não possui nenhuma tabela. 


Figura 2 – Banco Blog sem nenhuma tabela.


Para iniciarmos o BIDS vamos em: Botão iniciar - > Todos os programas -> Microsoft SQL Server 2008 (ou outra versão) -> SQL Server Business Intelligence Development Studio(o BIDS).


Figura 3 – Iniciando o BIDS.


Na primeira vez em que abrir o BIDS pode ocorrer de demorar um pouco para abrir.
Assim que o programa carregar vá em: Menu -> File -> New -> Project.
Voce irá visualizar a janela New Project conforme figura 4.
Iremos selecionar Integration Services Project, selecionar a pasta que irá salavar o projeto e escolher um nome. Após isso click no botão OK.


Figura 4 – Janela New Project.

O SSIS possui um utilitário que auxilia a importação e exportação de dados, o Import and Export Wizard. Para inicia-lo vá em: Menu -> Project -> SSIS Import and Export Wizard conforme figura 5.


Figura 5 – Iniciando o Import and Export Wizard.

A tela inicial é exibida. Ela contem algumas informações iniciais e não é uma pagina obrigatória. Para não exibir mais a pagina inicial marque o check Box “Do not show this starting Page again”. Click em Next.


Figura 6 – Pagina inicial do Import and Export Wizard.


Na próxima pagina é que realmente começamos a utilizar o Wizard. Nela escolhemos a fonte de dados de origem. No nosso caso um arquivo Excel. Em “Data Source” encontramos todas as fontes de dados compatíveis com o SSIS. Em “Excel file path” colocamos o caminho completo do arquivo, clicando em “Browse” você pode navegar até o arquivo. Em “Excel version” você decide qual versão do Excel está utilizando, no nosso caso a versão 2007.
O check Box “First row has column name ” quando marcado indica que a primeira linha da planilha é referente ao cabeçalho (nome dos campos). Se  tudo ok click em next.


Figura 7 – Definindo as fontes de origem.

A próxima tela é onde se definirá a fonte de Destino. Muito parecida com a tela anterior. No nosso caso escolhemos a fonte como SQL Server, servidor “KAPA”, modo de autenticação “Windows Authentication”, Banco de dados “Blog”. Click em next.


Figura 8 – Definindo a fonte de destino.


Na próxima tela “Select Source Tables and Views” você define a(s) tabela(s) ou view(s) que deseja copiar da origem para o destino. Voce deve marcar o check Box referente ao objeto escolhido. Nessa tela temos o botão “Edit Mappings” onde pode definir tipos de dados, tamanho dos campos e o “mapeamento” (relação campo origem/destino).
Tudo definido click em next.





Figura 9 – Definição dos objetos de origem (Tabelas e Views).


A ultima pagina “Complete the Wizard” apresenta um resumo de todas as configurações até o momento. Se todas as configurações estiverem ok click em finish.


Figura 10 – Janela “Complete the Wizard”.

Após essas ações você deve visualizar um novo pacote, onde encontrará os seguintes fluxos de controle:
SQL Task: Componente que serve para realizar comandos SQL em um servidor definido.
Data Flow Task: Componente mais complexo, onde temos fontes de origens, transformações e destino. Aqui é aplicado na pratica o conceito de ETL. Mais detalhes sobre o Data Flow nos próximos posts.
Se tudo ocorreu corretamente, seu pacote deve ser parecido com a figura 11.



Figura 11 – Pacote criado pelo Import and Export Wizard.

Para “abrir” um controle de fluxo e verificar suas configurações podemos selecionar o componente e clicar com o botão direito, Edit. Ou podemos dar um duplo click no componente.
Abrindo o componente SQL Task, podemos verificar suas configurações conforme figura 12. Escolhendo “SQL Statement” podemos verificar o código SQL para criação da tabela Cliente, conforme figura 13.






Figura 12 – Configuração do componente SQL Task.




Figura 13- Codigo SQL em Sql Statement.


Verificando as configurações do componente Data Flow Task, podemos perceber que é diferente do componente SQL Task. Em vez de abrir uma janela, muda-se a aba de Control Flow para Data Flow. Isso porque o Data Flow é um componente especial. Ele tem seus próprios componentes como o Data Flow Source (que representa o Excel no nosso exemplo) e o Data Flow Destination (que representa o SQL Server no nosso exemplo). Os componentes do Data Flow possui suas próprias janelas de configuração.



Figura 14 – A aba Data Flow.




Figura 15 – Janela de configuração do Data Flow Source.



Figura 16 – Janela de configuração do Data Flow Destination.


O pacote foi criado, porem ainda não executamos.
Para executar o pacote click no ícone Start Debugging (semelhante ao play) ou execute o atalho com a tecla F5.
Se tudo estiver ok, após a execução as tasks ficarão verdes conforme figura 17.



Figura 17 – Pacote executado com sucesso.

Agora podemos verificar que a tabela foi criada e os dados do Excel transferidos para o SQL Server conforme figura 18.



Figura 18 – Verificando a carga na tabela.


O Import and Export Wizard é a maneira mais fácil de criar um pacote para quem esta iniciando. Alem disso há ocasiões em que necessitará de uma importação rápida e o Wizard lhe ajudará.
Esse post apresenta um exemplo bem simples, apenas para aprendizado. Recomendo a todos que experimentem o Import and Export Wizard com outras fontes de Dados. Podem realizar o oposto desse post, exportar os dados de uma origem do SQL Server para o Excel. Utilizar arquivos de texto, Access e etc.
Essa ferramenta também esta disponível no SQL Management Studio. 

Obrigado e até a próxima!

Nenhum comentário:

Postar um comentário