Compartilhar via


Usando variáveis no componente Script

Aplica-se a: Tempo de execução de integração do SSIS do SQL Server no Azure Data Factory

As variáveis armazenam valores que um pacote e seus contêineres, tarefas e manipuladores de eventos podem usar em tempo de execução. Para obter mais informações, consulte Variáveis do SSIS (Integration Services).

Você pode tornar as variáveis existentes disponíveis para acesso somente leitura ou leitura/gravação por meio de seu script personalizado inserindo listas de variáveis delimitadas por vírgulas nos campos ReadOnlyVariables e ReadWriteVariables na página Script do Editor de Transformação Scripts. Lembre-se de que os nomes de variáveis diferenciam maiúsculas de minúsculas. Use a propriedade Value para ler e gravar em variáveis individuais. O componente Script trata qualquer bloqueio necessário em segundo plano, à medida que seu script manipula as variáveis em tempo de execução.

Importante

A coleção de ReadWriteVariables está disponível somente no método PostExecute para maximizar o desempenho e minimizar o risco de conflitos de bloqueio. Portanto, não será possível incrementar diretamente o valor de uma variável de pacote ao processar cada linha de dados. Em vez disso, incremente o valor de uma variável local e defina o valor da variável do pacote como o valor da variável local no método PostExecute depois de todos os dados terem sido processados. Você também pode usar a propriedade VariableDispenser para funcionar nesta limitação, conforme descrito posteriormente neste tópico. Entretanto, gravar diretamente em uma variável de pacote, à medida que cada linha for processada, afetará negativamente o desempenho e aumentará o risco de conflitos de bloqueio.

Para obter mais informações sobre a página Script do Editor de Transformação de Scripts, confira Configurando o componente Script no Editor de Componentes de Script e Editor de Transformação de Scripts (Página de Script).

O componente Script cria uma classe de coleção Variables no item de projeto ComponentWrapper com uma propriedade de acessador fortemente tipada para o valor de cada variável pré-configurada em que a propriedade tem o mesmo nome que a variável propriamente dita. Esta coleção é exposta pela propriedade Variables da classe ScriptMain. A propriedade de acessador fornece permissão somente leitura ou de leitura/gravação ao valor da variável conforme apropriado. Por exemplo, se você tiver adicionado uma variável de inteiro nomeada MyIntegerVariable à lista ReadOnlyVariables, poderá recuperar seu valor em seu script utilizando o seguinte código:

Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable

Você também pode usar a propriedade VariableDispenser, acessada chamando Me.VariableDispenser, para trabalhar com variáveis no componente Script. Neste caso você não está utilizando as propriedades de acessador digitadas e nomeadas para variáveis, mas acessando as variáveis diretamente. Ao usar o VariableDispenser, você deve tratar as semânticas de bloqueio e a conversão de tipos de dados para obter valores variáveis em seu próprio código. Você deve usar a propriedade VariableDispenser em vez das propriedades de acessador nomeadas e tipadas, se desejar trabalhar com uma variável que não esteja disponível no tempo de design, mas é criada programaticamente no tempo de execução.

Consulte Também

Variáveis do SSIS (Integration Services)
Usar variáveis em pacotes