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
Postar um comentário