Partilhar via


Componente Script

O componente Script hospeda o script e permite que um pacote inclua e execute um código de script personalizado. Você pode usar o componente Script em pacotes para as seguintes finalidades:

  • Aplicar várias transformações a dados em vez de usar transformações múltiplas no fluxo de dados. Por exemplo, um script pode adicionar os valores em duas colunas e depois calcular a média da soma.

  • Acessar regras de negócio em um assembly .NET existente. Por exemplo, um script pode aplicar uma regra de negócio que especifica um intervalo de valores válidos em uma coluna Income.

  • Usar fórmulas e funções personalizadas além das funções e dos operadores fornecidas pela gramática de expressão do Integration Services . Por exemplo, validar números de cartão de crédito que usam a fórmula de LUHN.

  • Validar dados de coluna e ignorar registros que contêm dados inválidos. Por exemplo, um script pode avaliar a racionalidade de um valor de postagem e ignorar registros com quantias extremamente altas ou baixas.

O componente Script fornece um modo fácil e rápido para incluir funções personalizadas em um fluxo de dados. Porém, se você planeja reutilizar o código de script em vários pacotes, deveria considerar programação de componente personalizado em vez de usar o componente Script. Para obter mais informações, consulte Desenvolvendo um componente de fluxo de dados personalizado.

Observação

Se o componente Script contiver um script que tenta ler o valor de uma coluna que é NULL, esse componente falhará quando você executar o pacote. Recomendamos que o script use o método IsNull para determinar se a coluna é NULL antes de tentar ler o valor da coluna.

O componente Script pode ser usado como uma origem, uma transformação ou um destino. Esse componente oferece suporte a uma entrada e várias saídas. Dependendo de como o componente é usado, ele oferece suporte a uma entrada ou saídas, ou ambas. O script é invocado por toda linha na entrada ou saída.

  • Se usado como origem, o componente Script oferece suporte a várias saídas.

  • Se usado como transformação, o componente Script oferece suporte a uma entrada e a várias saídas.

  • Se usado como destino, o componente Script oferece suporte a uma entrada.

O componente Script não oferece suporte a saídas de erro.

Depois de decidir que o componente Script é a escolha adequada para seu pacote, você precisa configurar as entradas e saídas, desenvolver o script usado pelo componente e configurar o próprio componente.

Compreendendo os modos do componente Script

No Designer SSIS , o componente Script tem dois modos: modo do design de metadados e modo do design de código. No modo design de metadados, você pode adicionar e modificar as entradas e saídas do componente Script, mas não pode escrever código. Depois que todas as entradas e saídas são configuradas, você troca para o modo do design de código para escrever o script. O componente Script gera automaticamente o código base a partir dos metadados das entradas e saídas. Se você alterar os metadados depois que o componente Script gerar o código base, talvez seu código não seja compilado porque o código base atualizado pode ser incompatível com seu código.

Escrevendo o Script que o componente usa

O componente Script usa o Microsoft Visual Studio VSTA (Tools for Applications) como o ambiente em que os scripts são escritos. Você acessa o VSTA no Editor de Transformação Scripts. Para obter mais informações, confira Editor de Transformação Scripts (Página Script).

O componente Script fornece um projeto VSTA que inclui uma classe gerada automaticamente, nomeada ScriptMain, que representa os metadados do componente. Por exemplo, se o componente Script for usado como uma transformação que tem três saídas, o ScriptMain incluirá um método para cada saída. O ScriptMain é o ponto de entrada para o script.

O VSTA inclui todos os recursos padrão do ambiente Visual Studio , como o editor Visual Studio codificado por cor, o IntelliSense e o Object Browser. O script usado pelo componente Script é armazenado na definição de pacote. Quando você está projetando o pacote, o código de script é gravado temporariamente em um arquivo de projeto.

O VSTA dá suporte às linguagens de programação Microsoft Visual C# e Microsoft Visual Basic.

Para obter informações sobre como programar o componente Script, consulte Estender o fluxo de dados com o componente de Script. Para obter mais informações específicas sobre como configurar o componente Script como origem, transformação ou destino, consulte Developing Specific Types of Script Components. Para obter exemplos adicionais como um destino de ODBC que demonstra o uso do componente Script, consulte Additional Script Component Examples.

Observação

Ao contrário das versões anteriores em que você podia indicar se os scripts eram pré-compilados, todos os scripts são pré-compilados no SQL Server 2008 Integration Services (SSIS) e em versões posteriores. Quando um script é pré-compilado, o mecanismo de linguagem não é carregado no tempo de execução e o pacote é executado mais rapidamente. No entanto, arquivos binários pré-compilados consomem espaço significativo em disco.

Configurando o componente Script

Você pode configurar o componente Script das seguintes maneiras:

  • Selecione as colunas de entrada para referência.

    Observação

    Você pode configurar só uma entrada quando usar o Designer do SSIS .

  • Forneça o script que o componente é executado.

  • Especifique a linguagem do script.

  • Forneça listas separadas por vírgula das variáveis de somente leitura e gravação/leitura.

  • Adicione mais saídas e adicione colunas de saída atribuídas ao script.

Você pode definir propriedades pelo Designer do SSIS ou programaticamente.

Configurando o componente Script no Designer

Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor de Transformação Scripts , clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir essas propriedades no SSIS Designer, clique no tópico a seguir:

Configurando o componente Script programaticamente

Para obter mais informações sobre as propriedades que podem ser definidas na janela Propriedades ou programaticamente, clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir propriedades, clique em um dos seguintes tópicos:

Transformações do Integration Services

Estender o fluxo de dados com o componente de Script