Share via


Usando variáveis no componente Script

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 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 de Script. 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.

Observação importanteImportante

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 Script, consulte Configurando o componente Script no Editor de Componentes de Script e Editor de Transformação Scripts (página Script).

O componente Script cria uma classe de coleção Variables no item de projeto ComponentWrapper com uma propriedade de acessador com rigidez de tipos para o valor de cada variável pré-configurada onde a propriedade tem o mesmo nome que a variável em si. 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.

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.