11 Maio 2017

Criar Packages SSIS com o BIML

O BIML (Business Intelligence Markup Language) permite a criação automática de packages SSIS idênticos, simplificando o conjunto de tarefas repetidas executadas nos processos de extração dos diferentes sistemas fonte. Assim, permite reduzir o tempo de extração das fontes e aumentar a coerência entre todos os packages. Pode-se definir quatro fases que constituem o processo de criação de packages BIML:

>     Fase de desenho package template;

>     Fase de criação ficheiro BIML estático;

>     Fase de carregamento metadata;

>     Fase de criação ficheiro BIML dinâmico.

Estas fases dependem da utilização de quatro ferramentas que permitirão criar packages SSIS que o utilizador definir:

 

 

1.1.     Fase desenho package template

Embora existam diferentes metodologias de desenho, nesta fase, é fundamental adaptar o desenho de modo a que o resultado seja flexível ao conjunto de extrações pretendido. Recorre-se ao Visual Studio para criar o desenho e todas as configurações do package template. É necessário ter especial atenção aos seguintes pontos:

>     Identificar todas as alterações que são realizadas quando existe replicação manual;

>     Criar variáveis para simplificar o suporte de dinamismos, caso necessário.

1.2.     Fase criação ficheiro BIML estático

Esta fase é constituída por duas subfases. Primeiramente utiliza-se o MIST para converter o package dtsx em código BIML e depois concatenam-se os diferentes ficheiros BIML para um único ficheiro. Concluídas estas duas subfases é importante colocar o ficheiro final no Visual Studio e verificar se existem erros, para diminuir eventuais falhas no código.

1.2.1.      MIST

>     Criar um novo projeto

 

 

>     Importar package template

 

 

>     Visualizar informação gerada sobre o package carregado

 

 

1.2.2.      Concatenação

 

 

>     Concatenar os diferentes TXT de origem MIST

>     Verificar erros no código estático BIML

 

 

1.3.     Fase carregamento metadata e tabelas

Pode-se recorrer ao Excel para criar um ficheiro que caracterize os packages e respetivo conteúdo a extrair, através de diferentes parâmetros. Deste modo, é importante que todos os dinamismos que foram identificados na Fase 1 sejam espelhados neste ficheiro de carregamento de metadata. No caso da extração de ficheiros txt, por exemplo, é necessário ter em conta todas as configurações de conexões associadas aos conectores de SSIS para este tipo de fonte. Em suma, este ficheiro Excel permite estabelecer as seguintes relações:

 

 

As principais funcionalidades do ficheiro são:

>     Criar tabelas de configuração BIML;

>     Descrever características das fontes;

>     Gerar comandos de insert e create de modo a otimizar o carregamento e agilizar o processo.

1.4.     Fase de criação ficheiro BIML dinâmico

Nesta fase utiliza-se, novamente, o Visual Studio para modificar o ficheiro BIML manualmente:

>     Adicionar código (C#.net) para criar dinamismos;

>     Colocar as variáveis C# nas partes que têm de ser alteradas de package para package;

>     Gerar packages BIML dinâmicos;

 

 

1.5.     Exemplo Prático

>     Tabelas com os dados dos packages (SQL) carregadas através de dados do Excel

 

 

>     Tabelas com os dados das informações dos packages (SQL) carregadas através de dados do Excel

 

 

>     Gerar packages

 

 

>     Resultado após a geração dos packages

Resultado dos dois packages criados através do BIML

 

 

Resultado das Derived Column dos dois packages como exemplo de alterações dinâmicas que são parametrizadas através da inserção de dinamismo (C#)

 

 

 

 

1.6.     Conclusão

Em resumo pode-se representar um modelo de execução de packages BIML esquematicamente:

 

     
 
.
.
.
.
 
       Rita Grencho
         Consultant

     Hugo Silva
       Consultant