Usando arquivos de script C # externos no Biml

Usando arquivos de script C # externos no Biml

Adding a C# file to the solution
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


No artigo publicado anteriormente, Estendendo o Biml com scripts C #, explicamos como usar scripts VB ou C # dentro do código Biml para impedir o trabalho repetitivo de desenvolvimento. Mas nesta solução, os scripts e classes C # estão disponíveis apenas em um único arquivo, enquanto podemos precisar usá-los em muitos.

Neste artigo, explicaremos como armazenar esses scripts VB ou C # em arquivos externos e usá-los nos scripts Biml. Além disso, mencionaremos como criar métodos de extensão dentro desses scripts C #.

Adicionando scripts VB ou C #

Para adicionar scripts externos, precisamos ir para a faixa de menu “Extensões”, “BimlExpress” e clicar em “Adicionar novo arquivo C #” ou “Adicionar novo arquivo VB” com base no idioma que precisamos usar:

Adicionando um arquivo C # à solução

Figura 1 – Adicionando um novo arquivo C #

Depois de clicar nesse botão, um novo arquivo C # é adicionado à solução:

Arquivo C # incluído dentro do Solution Explorer

Figura 2 – arquivo C # adicionado na solução

Definindo um método dentro da classe C #

Neste exemplo, usaremos essa classe C # para definir um método que gera um identificador global (GUID) a ser usado dentro de uma transformação de coluna derivada. Abrimos o arquivo e importamos o espaço para nome do sistema. Em seguida, adicionamos o seguinte código:

Usando o arquivo C # no Biml

Para começar, usaremos o código Biml que desenvolvemos no artigo Extending Biml with C # scripts.

Primeiro, precisamos importar o arquivo C # usando um bloco de diretiva colocado fora do principal elemento da seguinte forma:

Então, quando precisarmos usar qualquer método definido neste arquivo, devemos escrever o nome da classe e do método (ou seja, MyClass.GetNewGuid ()).

Voltar ao código Biml que desenvolvemos anteriormente. Se precisarmos usar o método C # na expressão Coluna Derivada, devemos usar um bloco de texto onde implementamos este método:

Se dermos uma olhada na janela de código compilado, podemos ver que um novo identificador global é avaliado para a transformação da coluna derivada (observe que esses exemplos podem não funcionar no mundo real, pois o GUID gerado não será alterado para todas as linhas importadas e não é gerado por linha).

mostrando como o método auxiliar é avaliado ao usar dentro de uma expressão de colum derivada

Figura 3 – Mostrando o valor retornado pelo método após a compilação

Como podemos ver no código, adicionamos manualmente o nome do esquema nos componentes de origem e destino do OLE DB, pois o “con.GetDatabaseSchema ()” retorna apenas o nome da tabela.

Agora, adicionaremos um script C # que usa o TableNode como parâmetro e retornar um nome completo (esquema + tabela):

Agora, implementaremos esse método no código Biml da seguinte maneira:

Se verificarmos a janela de código compilado, veremos que obtemos o nome completo da tabela:

mostrando como o método auxiliar é avaliado no código Biml compilado

Figura 4 – Método retornando o nome completo da tabela

Criando um método de extensão

No exemplo anterior, criamos um método relacionado ao objeto TableNode em uma classe diferente. Mas e se adicionarmos vários arquivos de script externos, os métodos de rastreamento nas classes serão mais difíceis cada vez que uma nova classe for adicionada. Para resolver esse problema, podemos criar métodos externos que aparecerão na classe TableNode (método de extensão). Se você não conhece os métodos de extensão, pode consultar um dos seguintes artigos para saber mais sobre essa tecnologia:

Para criar um método de extensão, devemos adicionar a palavra-chave “this” antes do tipo de dados do parâmetro do método, da seguinte maneira:

O código inteiro deve se parecer com o abaixo:

Agora, dentro do código Biml, podemos chamar esse método usando a seguinte linha de bloco de texto:

Na captura de tela abaixo, podemos ver como esse método é avaliado após a compilação:

mostrando como o método de extensão é avaliado no código Biml compilado

Figura 5 – Avaliação do método de extensão

Conclusão

Neste artigo, explicamos como usar scripts C # externos no código Biml (usando classes e métodos Helper), também mencionamos como converter esses métodos auxiliares em métodos de extensão.

Por enquanto, acho que este é o último artigo sobre o uso do Biml para gerar e controlar pacotes do SQL Server Integration Services (SSIS) nesta série. Se você está procurando uma boa referência para aprender o Biml, pode consultar os links que fornecemos no artigo Introdução ao Biml ou o incrível blog de Catherine Wilhelmsen, que é um dos principais especialistas neste domínio.

Índice

Hadi Fadlallah
Últimas mensagens de Hadi Fadlallah (ver todos)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Leia Também  As 4 apresentações das quais mais me orgulho e o que as inspirou