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