Published on

October 26, 2010

Usando Variáveis no Fluxo de Dados do SQL Server

Ao trabalhar com o SQL Server, há momentos em que você precisa usar variáveis no seu fluxo de dados. No entanto, atualmente, nenhuma das fontes de Fluxo de Dados existentes permite que você use variáveis. Neste post do blog, exploraremos uma solução alternativa para essa limitação e mostraremos como usar variáveis em um componente de Fluxo de Dados.

Vamos supor que você tenha um procedimento armazenado que retorna um único registro e deseja usar a saída desse procedimento armazenado como variáveis no seu fluxo de dados. O primeiro passo é criar o procedimento armazenado com parâmetros de saída. Esses parâmetros de saída serão mapeados para variáveis do SSIS.


CREATE PROCEDURE ObterRegistro
    @Saida1 INT OUTPUT,
    @Saida2 VARCHAR(50) OUTPUT
AS
BEGIN
    -- Sua lógica aqui
END

Depois de configurar o procedimento armazenado, você pode executá-lo e armazenar a saída em variáveis do SSIS. Isso pode ser feito usando um componente de origem de tarefa de script.

Em seguida, você precisa criar um componente de script personalizado para introduzir as variáveis no fluxo de dados. No componente de script, você definirá as colunas de saída que correspondem às variáveis preenchidas pelo procedimento armazenado.

Há duas maneiras de introduzir as variáveis no componente de script. A primeira maneira é listá-las na seção somente leitura do componente de script. No entanto, neste exemplo, usaremos o objeto VariableDispenser para trabalhar com as variáveis.

Depois que as variáveis forem introduzidas no componente de script, você poderá passá-las usando o método CreateNewOutputRows() disponível para um componente de origem de script. Cada variável do pacote é adicionada à variável de saída correspondente construída a partir do componente de origem de script para uso por qualquer componente dentro da Tarefa de Fluxo de Dados.

Agora você pode estar se perguntando, por que você gostaria de usar variáveis em um Fluxo de Dados? Uma razão é o desempenho. Ao trabalhar em um único registro de cada vez, você pode otimizar o fluxo de trabalho e melhorar a velocidade. Por exemplo, se você estiver processando centenas de arquivos PDF de um diretório, pode ser mais eficiente trabalhar em um documento de cada vez.

Além disso, pode haver casos em que você não pode selecionar diretamente o próximo registro a ser importado de uma tabela de fila. Em tais cenários, usar um procedimento armazenado para recuperar o próximo registro e removê-lo da fila se torna necessário.

Ao aproveitar as variáveis no seu Fluxo de Dados do SQL Server, você pode superar as limitações das fontes de Fluxo de Dados existentes e otimizar seu fluxo de trabalho para obter um melhor desempenho.

Esperamos que este post do blog tenha fornecido informações valiosas sobre o uso de variáveis no Fluxo de Dados do SQL Server. Fique ligado para mais dicas e truques do SQL Server!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.