Compartilhar via


Usar variáveis em pacotes

As variáveis são uma adição útil e flexível aos pacotes do Integration Services; eles podem fornecer comunicação entre objetos no pacote e entre pacotes pai e filho. As variáveis também podem ser usadas em expressões e scripts.

Variáveis definidas pelo usuário e pelo sistema

O Integration Services fornece variáveis do sistema e dá suporte a variáveis definidas pelo usuário. Quando você cria um novo pacote, adiciona um contêiner ou uma tarefa a um pacote ou cria um manipulador de eventos, o Integration Services inclui um conjunto de variáveis do sistema para o contêiner. Variáveis do sistema contêm informações úteis sobre um pacote, contêiner, tarefa ou manipulador de eventos. Por exemplo, no tempo de execução a variável do sistema Nome do computador contém o nome do computador no qual o pacote está sendo executado e Hora Inicial a hora que a execução do pacote começou. As variáveis de sistema são somente leitura. Para obter mais informações, consulte Variáveis de sistema.

É possível criar variáveis definidas pelo usuário e usá-las em pacotes. As variáveis definidas pelo usuário podem ser usadas de várias maneiras no SSIS: em scripts; nas expressões usadas por restrições de precedência, o contêiner Loop For, a transformação Coluna Derivada e a transformação Divisão Condicional; e nas expressões de propriedade que atualizam valores de propriedade.

Por exemplo, é possível usar uma variável definida pelo usuário na condição de avaliação para o contêiner Loop For. Também é possível mapear o valor de coleção do enumerador em um contêiner Loop Foreach para uma variável, e se uma tarefa Executar SQL usar uma instrução SQL com parâmetro, você poderá mapear os parâmetros para a instrução para variáveis. Para obter mais informações, consulte Variáveis do SSIS (Integration Services).

Cenários de uso de variáveis

As variáveis são usadas de muitos modos diferentes em pacotes Integration Services . Você provavelmente perceberá que o desenvolvimento do pacote não progride muito antes de você adicionar uma variável definida pelo usuário ao seu pacote para implementar a flexibilidade e a capacidade gerenciamento exigida por sua solução. Dependendo da situação, as variáveis do sistema também são usadas normalmente.

Expressões de Propriedade Use variáveis para fornecer valores nas expressões de propriedade que definem as propriedades de pacotes e objetos de pacote. Por exemplo, a expressão, SELECT * FROM @varTableName inclui a variável varTableName que atualiza a instrução SQL executada por uma tarefa Executar SQL. A expressão, DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]", atualiza o pacote executado pela tarefa Executar Pacote, executando o pacote especificado na variável varPackageFirst no primeiro dia do mês e executando o pacote especificado na variável varPackageOther nos outros dias. Para obter mais informações, consulte Usar expressões de propriedade em pacotes.

Expressões de Fluxo de Dados Use variáveis para fornecer valores nas expressões que as transformações Coluna Derivada e Divisão Condicional usam para preencher colunas ou direcionar as linhas de dados para diferentes saídas de transformação. Por exemplo, a expressão, @varSalutation + LastName, junta o valor na variável VarSalutation e a coluna LastName . A expressão, Income < @HighIncome, direciona as linhas de dados nas quais o valor da coluna Income é menor que o valor na variável HighIncome para uma saída. Para obter mais informações, consulte Transformação Coluna Derivada, Transformação Divisão Condicional e Expressões do Integration Services (SSIS).

Expressões de Restrição de Precedência Fornece valores para usar em restrições de precedência para determinar se o executável de uma restrição executa. As expressões pode ser usadas junto com uma saída de execução (êxito, falha, conclusão) ou no lugar de uma saída de execução. Por exemplo, se a expressão, @varMax > @varMin, avaliar para true, o executável será executado. Para obter mais informações, consulte Adicionar expressões a restrições de precedência.

Parâmetros e Códigos de Retorno Fornecem valores para parâmetros de entrada ou armazenam os valores de parâmetros de saída e códigos de retorno. Isso é feito mapeando as variáveis para parâmetros e valores de retorno. Por exemplo, se você definir a variável varProductId como 23 e executar a instrução SQL, SELECT * from Production.Product WHERE ProductID = ?, a consulta recuperará o produto com um ProductID de 23. Para obter mais informações, consulte Tarefa Executar SQL e Parâmetros e códigos de retorno na Tarefa Executar SQL.

Expressões Loop For Fornece valores a serem usados na inicialização, avaliação e expressões de atribuição do Loop For. Por exemplo, se a variável varCount for 2 e a varMaxCount for 10, a expressão de inicialização será @varCount, a expressão de avaliação será @varCount < @varMaxCounte a expressão de atribuição será @varCount =@varCount +1e o loop será repetido 8 vezes. Para obter mais informações, consulte Contêiner Loop For.

Configurações de Variável do Pacote Pai Passa valores de pacotes pai para pacotes filho. Os pacotes filho podem acessar variáveis no pacote pai usando configurações de variáveis do pacote pai. Por exemplo, se o pacote filho precisar usar a mesma data que o pacote pai, o pacote filho poderá definir uma configuração de variável de pacote pai que especifica uma variável definida pela função GETDATE no pacote pai. Para obter mais informações, consulte Tarefa Executar Pacote e Configurações de pacote.

Tarefa Script e Componente Script Fornece uma lista de variáveis somente leitura e de leitura/gravação à tarefa Script ou ao componente Script, atualiza as variáveis de leitura/gravação dentro do script e usa os valores atualizados dentro ou fora do script. Por exemplo, no código, numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), a variável do script numberOfCars é atualizada pelo valor na variável, NumberOfCars. Para obter mais informações, consulte Usando variáveis na tarefa Script.

Configurações e Variáveis

Para atualizar dinamicamente as variáveis, é possível criar configurações para as variáveis, implantar as configurações com o pacote e atualizar os valores da variável no arquivo de configuração ao implantar os pacotes. Em tempo de execução, o pacote usa os valores de variável atualizados. Para obter mais informações, consulte Criar configurações de pacote.

Para adicionar, modificar e excluir variáveis definidas pelo usuário