Pular para o conteúdo principal

SSIS – Como carregar conjunto de arquivos para o banco?

Cenário:

 

A integração de dados muitas vezes impõe a necessidade de carregar informações oriundas de arquivos textos (.txt, .csv, .xls , etc ..) pois, nem sempre existe a disponibilidade de web services ou api que possibilitem acesso constante e seguro a determinadas informações. Diante deste contexto será simulado neste tutorial a carga de três arquivos no formato .txt presentes em uma pasta do sistema operacional que terão seus dados carregados em uma base de Staging no Sql Server.

 

Ambiente:

 

O ambiente de desenvolvimento dessa solução é composto pelo sistema operacional Windows 10,  banco de dados Sql Server e Integration Services (SISS – ferramenta para extração e carga dos dados).

 

 

Problema:

 

Os Arquivos Estado01.txt , Estado02.txt e Estado03.txt possuem os nomes dos estados e suas siglas separados pelo caracter pipe(|). O problema consiste em desenvolver um pacote no Integration Services que seja capaz de extrair os dados destes três arquivos e carrega-los no Sql Sqerver.

 

 

Solução:

 

Passo 1

 

Criação da tabela tEstado_Stage para armazenas os dados do arquivo no banco SQL Server.

 

CREATE TABLE [dbo].[tEstado_Stage](

       [cod] [varchar](50) NULL,

       [descricao] [varchar](50) NULL

) ON [PRIMARY]

GO

 

Passo 2

 

Abrir o projeto no Integration service e incluir na aba Fluxo de Controle o componente Tarefa Executar SQL . Este componente tem o objetivo de garantir a limpeza dos dados antes de efetuar a carga da tabela tEstado_Stage. Para que isso ocorra será criada a conexão com o banco e configurado o componente com o comando TRUNCATE TABLE.

 

 



 

 



 

Passo 3

 

O Container Foreach será inserido para realizar a interação responsável por carregar os dados de cada arquivo.

 

 



 

Passo 4

 

Criar as variáveis para indicar o armazenamento e a localização dos arquivos que serão carregados.

 

OBS: Para criar as variáveis pressione o botão direito do mouse na tela Fluxo de Controle. Tem que efetuar essa ação fora do corpo de qualquer componente existente nessa tela.

 



 

Variáveis criadas:

 



 

 

Todas as variáveis devem ser do tipo String.

 

Na variável vFonteArquivos atribua o valor com o caminho da pasta onde estarão aramazenados os arquivos de carga;

 

A variável vNomeArquivo deverá ficar com o valor vazio. Ela será utilizada no Passo 5;

 

A variável vConnectionString será preenchida por uma expressão conforme a imagem abaixo:

 



 

OBS: Para montar a expressão arraste as variáveis que foram definidas e se apresentam no quadro superior esquerdo

 

Passo 5

 

Configure o Container Foreach definindo o campo Editor de Loop Foreach com o valor Enumerador de Arquivos Foreach, o campo Pasta com o valor do caminho dos arquivos que serão carregados. O campo Arquivo com o valor *.txt (Este valor indica que todos os arquivos com extensão .txt serão carregados. Caso sejam carregados os arquivos com extensão .csv deverá ser utilizado o valor *.csv)

 

 



 

 

Na tela de Mapeamento de Variáveis deve ser incluído a variável vNomeArquivo.

 



 

Passo 6

 

 

Execute a carga e verifique no banco os valores que foram carregados.

 

 


Comentários

Postagens mais visitadas deste blog

Validando Documentos com Fluent Validation, DocsBRValidator e .net Core 6.0

  Introdução A necessidade de utilização das bases de dados para construção de estratégias de negócios através  de técnicas de Ciência de Dados torna necessário que as aplicações sejam cada vez mais cuidadosas para a validação dos campos que serão salvos nas bases dos sistemas. Esses cuidados tem o objetivo de melhorar a qualiade das informações que serão fornecidas para sistemas de Inteligência artificial, mineração de dados, etc . Neste artigo será apresentada a construção de uma solução console que utiliza o Fluent Validation, DocsBRValidator  e o .net Core 6 para validar o número do CPF fornecido pelo usuário.   FluentValidation FluentValidation é uma bliblioteca .Net criada para construção de regras de validação. Com essa biblioteca  podem ser definidos a obrigatoriedade de campos , os tamanhos, os tipos e a formatação.   DocsBRValidator DocsBRValidator é uma biblioteca que possui a regra de validação para os principais documentos brasileiros como CPF, CNPJ,  RG, CNH, Titulo de El

Criando uma calculadora Android com o Kotlin

Resumo Aprender a programar para Android exige a absorção de conceitos básicos que são mais naturalmente entendidos quando aplicados em algum projeto de desenvolvimento. Objetivando introduzir o contato com o Kotlin para Android, foi criado neste artigo um aplicativo simples de calculadora que possibilita a apresentação do tratamento de eventos de botões, uso de expressões regulares e utilização de um método estático. Introdução O desenvolvimento de aplicativos envolve o entendimento de conceitos que devem ser naturalizados pelos desenvolvedores. Uma das formas mais comuns de se naturalizar os diversos recurso de uma plataforma é desenvolver projetos que demonstrem o funcionamento prático dos conceitos implementados. O aplicativo   Calculadora foi desenvolvido por possibilitar o contato inicial do desenvolvedor com os conceitos de tratamento de eventos, métodos estáticos e expressões regulares. O código desenvolvido buscou implementar estes conceitos de maneira introdutória. Não fo

Logic Programming With Python - 03

Control Flow We often need to run specific code for certain conditions or we must run a code snippet many times. Toward we have this behavors we need of structures of control flow. Basically these structures are divided into conditional and repeating structures.  Conditional structures allow select code snippets for specific conditions while Loop structures allow the execution of code snippets many times. Conditional structures in Python The logical conditionals usein Python are: Equals:  a == b Not Equals:  a != b Less than:  a < b Less than or equal to:  a <= b Greater than:  a > b Greater than or equal to:  a >= b These conditions are fundamental to statement logical and loops Simple if-statement. In this example were declared two variables: a and b. In the if-statement  was defined the condition b > a. As b is equal the five and a is equal to three the message "b greater than a" will show to the user. Code Block In Python, The code block is defined through