Lição 2: Adicionar looping com o SSIS

Aplica-se a: SQL Server SSIS Integration Runtime no Azure Data Factory

Na Lição 1: Criar um projeto e pacote básico com o SSIS, você criou um pacote que extrai dados de uma fonte de arquivo simples. Os dados então são transformados usando transformações de Pesquisa. Por fim, o pacote carrega os dados para uma cópia da tabela de fatos FactCurrencyRate no banco de dados de exemplo AdventureWorksDW2022.

Um processo de ETL (extração, transformação e carregamento) normalmente extrai dados de várias fontes de arquivo simples. Extrair dados de várias fontes requer um fluxo de controle iterativo. Microsoft Integration Services pode facilmente adicionar iterações ou loops aos pacotes.

Integration Services fornece dois tipos de contêineres para efetuar loop por meio de pacotes: Foreach Loop e Loop For. O contêiner Foreach Loop usa um enumerador para o loop, enquanto que o contêiner For Loop geralmente usa uma expressão de variável. Esta lição usa o contêiner Loop Foreach.

O contêiner Loop Foreach habilita um pacote a repetir o fluxo de controle para cada membro de um enumerador especificado. Com o contêiner Loop Foreach, você pode enumerar:

  • Linhas do conjunto de registros ADO

  • Informações de esquema do ADO .Net

  • Estruturas de arquivo e diretório

  • Variáveis de sistema, pacote e usuário

  • Objetos enumeráveis em uma variável

  • Itens de uma coleção

  • Nós em uma expressão XML Path Language (XPath)

  • SQL Server SMO (Management Objects)

Nesta lição, você modifica o pacote ETL de exemplo da Lição 1 para usar um contêiner Foreach Loop e define uma variável de pacote definida pelo usuário para o pacote. Essa variável então é usada para iterar os arquivos correspondentes na pasta de exemplo.

Nesta lição, você não modificará o fluxo de dados, apenas o fluxo de controle.

Observação

Se você ainda não fez isso, confira os Pré-requisitos da Lição 1.

Tarefas da lição

Esta lição contém as seguintes tarefas:

Iniciar a lição

Etapa 1: Copiar o pacote da Lição 1

Confira também

Contêiner do Loop For