Primeiros passos no SSIS

Bom, ano novo começando e novos projetos também, no final de 2010 me tornei Microsoft Student Partner, título que esperei 1 ano para poder participar da seletiva e felizmente entrei como um dos 150 escolhidos em 2010 para os novos projetos acadêmicos da Microsoft em 2011.

Como os trabalhos como Student Partner tem uma forte ligação com a comunidade técnica de tecnologias Microsoft voltarei a postar artigos, mas dessa vez eles serão um pouco mais voltados para o lado técnico.

Um abraço a todos e sucesso aos novos MSP’s.

______________________

O SSIS ou SQL Server Integration Services é a plataforma para criação de dados em nível corporativo e soluções de transformação de dados, ou seja, é uma poderosa ferramenta para criarmos pacotes ETL (Extract Transfer Load) entre diferentes fontes de dados.

//Mais informações em: Microsoft TechNet – SSIS

Para utilizarmos o SSIS é necessário possuirmos a instalação completa do Business Intelligence Development Studio. A instalação pode ser feita através do Setup de instalação do SQL Server 2008 e para isso basta selecionarmos a feature de Business Intelligence durante o processo de instalação.

Apresentarei aqui os primeiros passos utilizando o SSIS e fazendo a importação de uma planilha excel para uma base de dados chamada Base_Exemplo.

Um das maneiras de abrirmos o SSIS é através do menu iniciar junto da pasta do MS SQL 2008 como apresentado na imagem abaixo:

Feito isso a start page do Visual Studio se abrirá e iremos em File, New, Projects e selecionaremos a guia Business intelligence Projects. Ao seleciona-lá aparecerão os templates para a criação de projetos e escolheremos o Integration Services Projects como ilustrado abaixo:

Daremos o nome de Importação SSIS ao nosso exemplo.

Após nomearmos nosso projeto será aberta a área para a criação de nossa importação.

Na parte de Package [Design] trabalharemos com as 2 primeiras abas, a primeira chamada de Control Flow  é usada para criar e modificar o fluxo do controle de nosso pacote, e a segunda, é chamada de Data Flow que é aonde construimos nosso fluxo e modificamos os dados envolvidos durante as transformações.

Começaremos adicionando um objeto Data Flow Task que pode ser encontrado na guia Control Flow items da Tool Box.

O Data Flow Task é o objeto que dá suporte a engine para a criação de nosso pacote, sem um Data Flow Task não podemos criar um Data Flow na segunda aba.

Agora que já adicionamos nosso Data Flow Task podemos ir para a aba Data Flow e começarmos a criar nosso fluxo de importação.

Vamos adicionar ao Data Flow um objeto chamado Excel Source que serve para especificarmos onde está nossa fonte de dados Excel.

Após adicionarmos o Excel Source também adicionaremos o objeto OLE DB Destination que representa para onde nossos dados serão importados, nesse caso estamos importando para um banco de dados Microsoft SQL 2008.

Ao cliclarmos duas vezes em nosso OLE DB destination aparecerá a seguinte tela:

Em OLE Connection Manager indicaremos a qual base de dados iremos nos conectar, feito isso poderemos selecionar qual será nossa tabela de destino, no exemplo a tabela de destino se chama Alunos.

Com nossa base de destino especificada faremos um mapeamento de/para entre as colunas do Excel Source para a base de dados, para isso clicaremos em Mappings e ligaremos os Input Columns com as suas respectivas Destination Columns como a seguir:

Daremos um click duplo em nosso Excel Source para indicarmos de onde provem nossos dados para a importação.
Ao clicarmos duas vezes abrirá uma janela semelhante a esta:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Clicaremos em New para inserirmos o local aonde se encontra nossa tabela, feito isso selecionaremos na parte Name of the Excel Sheet em qual das abas do Excel estão localizados nossos dados, nesse caso Sheet1$ é default quando não há um nome específico para as abas do Excel. Após selecionada, podemos clicar em Preview para visualizarmos parte de nossa fonte de dados em formato de tabela.

Feito isso devemos adicionar um objeto Data Conversion (Data Conversion – MSDN), entre o Excel Source e o OLE DB Destination como demonstrado abaixo:

 

 

 

 

 

 

 

 

 

Se não colocarmos um Data Coversion entre o Excel Source e o OLE DB Destination, e ligarmos um ao outro, a execução de nossa importação falhará e aparecerá o seguinte erro: “Column ‘nameColumn’ cannot convert between unicode and non-unicode string data types”.
Esse erro acontece porque o formato do dado na fonte, no nosso caso Excel, não consegue efetuar a conversão implícita do SSIS para que seja inserido na base, para explicitarmos que deve ocorrer uma conversão para o formato correto devemos adicionar um Data Conversion e ligarmos  as colunas aos seus respectivos data types.

Para isso daremos um clique duplo em cima de nosso Data Conversion e ao clicarmos aparecerá a seguinte janela:

Selecionaremos quais colunas deverão ter uma conversão explícita durante a importação do Excel Source para o banco de dados, após selecionarmos as colunas devemos especificar quais serão seus respectivos data types para que seja feita a conversão e o SQL reconheça o que está recebendo.

Terminada a configuração de conversão entre data types executaremos nossa importação dando F5 ou a executando no menu Debug.
Antes será efetuado um Build para ver se não há algum outro erro no fluxo dos dados que venha a interromper a importação, caso não haja nenhum erro os dados serão importados de nosso Excel Source para nossa base de dados MS SQL Server 2008.

Bom, vimos como é extremamente simples efetuarmos uma importação de uma planilha via SSIS, mas poderia ser qualquer outro tipo de fonte de dados , nesse caso as únicas mudanças seriam os objetos utilizados no fluxo de importação.

Espero que este pequeno artigo tenha sido útil,

até a próxima!

Marvin Ferreira da Silva
- Microsoft Student Partner -

4 thoughts on “Primeiros passos no SSIS

  1. Sério que até tentei entender, mas meu negocio é derivadas e integrais..

    Seu artigo ficou muito bom, parabéns!
    o CEO é o limite!

Deixe uma resposta

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

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s