SSIS – Utilizando o componente Derived Column
21 de fevereiro de 2013 1 Comentário
Imagine que temos que realizar a importação de um arquivo de texto com contenha informações como : Nome, Sobrenome e Idade. Porém, quando a idade da pessoa for inferior a 18 anos um campo boolean deverá ser preenchido como True.
Para fazer esse tipo de tarefa pelo SSIS utilizaremos o componente “Derived Column”.
Primeiro vamos criar uma estrutura tabular para armazenar os dados a serem inseridos
<br />use ImportaArquivos<br /><br />go<br /><br />CREATE TABLE tb_derivedColumn(<br /><br />id int identity(1,1) primary key,<br /><br />ch_nome varchar(100),<br /><br />ch_sobrenome varchar(100),<br /><br />bMenorde18 bit<br /><br />)<br /><br />
Agora iremos criar um arquivo de texto que contenha as seguintes informações.
Nome|Sobrenome|Idade
Dhiego|Piroto|23
Joana|D’arc|99
João|Paulo|17
Rodrigo|Dias|10
Salvaremos esse arquivo com o nome de “DerivedColumnImp.txt” em um diretório de sua preferencia.
Agora clique com o botão direito do mouse na área “Connection Managers” e selecione a opção “new flat file connection…”. Após isso, faça uma referencia ao arquivo que criamos anteriormente, selecionando a primeira linha como cabeçalho.
Clique em “OK” e depois adicione um componente “data flow task” ao projeto, de um duplo clique nele e adicione o componente “Flat data source” e clique duas vezes nele.
Preencha listbox com a conexão que acabamos de criar (txtCnn), clique em columns e depois “OK”.
Agora adicionaremos o componente que irá atender a nossa regra, e validará a idade da pessoa, insira no projeto um componente “derived column” e faça a ligação entre o flat file e ele.; Após isso, clique 2x no novo componente.
Na aba esquerda, maximize o item “columns” e arraste o campo “idade” para a grid inferior. Após isso, preencha o campo expression com o seguinte código:
Idade > “18” ? 0:1 através esta expressão será validada a idade da pessoa e um valor booleano será retornado.
Adicione um componente OLE DB Destination ao seu projeto, crie uma conexão com o DB onde criamos a tabela (passo 1) .
Clique na aba “columns” e faça o apontamento das colunas e clique em OK.
Execute a DTS.
E confira o resultado no Management Studio.
É isso galera!
Abraços
Dhiego PIroto