Como utilizar assemblies em pacotes do SQL Server Integration Services (SSIS)

Um cenário que podemos encarar durante a criação de pacotes do SQL Server Integration Services (SSIS) é a necessidade de executar código contido em assemblies .Net em algum passo do pacote do SSIS. Neste post vou demonstrar como incluir e executar assemblies em pacotes do Integration.

Primeiro, vamos criar um projeto Class Library no Visual Studio. Este projeto Class Library será o projeto gerador do assembly que será anexado ao pacote do Integration.

ssis_04

Depois de criado o projeto, vamos adicionar uma classe que irá conter o comportamento que queremos executar no pacote do Integration. Neste exemplo criei uma classe chamada MyRules que possui um único método chamado ExecuteConcat, que irá concatenar duas strings.

ssis_05

Para que o pacote do Integration consiga executar o assembly é preciso que o mesmo esteja registrado no GAC da máquina. Para isso, é preciso associar um Strong Name ao assembly. Para fazer isso clique com o botão direito sobre o projeto, navegue até a aba Signing, marque a opção “Sign the assembly” e crie um novo arquivo “Strong Name Key”, conforme a imagem abaixo.

ssis_06

Depois disso é preciso registrar o assembly no GAC. Abra o “Visual Studio Command Prompt (2010)” e utilize o comando “gacutil” para registrar o assembly, será preciso passar dois parâmetros, sendo eles: em primeiro lugar, “-i” para indicar que se deseja fazer uma instalação; e em segundo lugar, o caminho do arquivo que será registrado no GAC.

ssis_08

Se olharmos o GAC veremos o assembly registrado. No caso deste exemplo o assembly se chama “SSIS_MyRules”, e ficará registrado conforme a figura abaixo:

ssis_09

Agora, criaremos nosso pacote do Integration. Abra o Microsoft Visual Studio Business Intelligence e crie um novo projeto utilizando o template “Integration Services Connections Project”.

ssis_02

Adicione uma nova Script Task no Control Flow do pacote do Integration. Dê um duplo-clique sobre a task e abrirá uma janela para edição do Script Task, clique em Edit Script. Uma janela do Integration Services Script Task será aberta, conforme a imagem abaixo.

ssis_11

Adicione uma referência ao assembly do projeto Class Library criado anteriormente e preencha o método Main com o código abaixo.

ssis_12

Após isso basta executar o pacote do Integration e observar a execução de todo o processo. Veremos que a execução irá apresentar um MessageBox com as palavras “Entity” e “Framework” concatenadas. E quando atingido o fim do processamento com sucesso, o ícone da Script Task ficará na cor verde.

ssis_13

ssis_15

Esta foi uma demonstração de como executar pacotes do SSIS fazendo referência a assemblies escritos em .Net.
[]s e até o próximo!

Por
Fernando Henrique Inocêncio Borba Ferreira
Microsoft Most Valuable Professional – Data Plaftorm Development

Anúncios

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: