Mapear parâmetros de consulta para variáveis em uma tarefa Executar SQL
Este tópico descreve como usar uma instrução SQL parametrizada na tarefa Executar SQL e criar mapeamentos entre variáveis e os parâmetros na instrução SQL.
Para obter mais informações sobre a tarefa Executar SQL, os marcadores e os nomes de parâmetros que você usa com tipos de conexões diferentes, consulte Tarefa Executar SQL e Parâmetros e códigos de retorno na Tarefa Executar SQL.
Para mapear um parâmetro de consulta para uma variável
No SSDT (SQL Server Data Tools), abra o pacote do Integration Services com o qual deseja trabalhar.
No Gerenciador de Soluções, clique duas vezes no pacote para abri-lo.
Clique na guia Fluxo de Controle.
Se o pacote ainda não incluir uma tarefa Executar SQL, adicione uma ao fluxo de controle do pacote. Para obter mais informações, consulte Adicionar ou excluir uma tarefa ou um contêiner em um fluxo de controle.
Clique duas vezes na tarefa Executar SQL.
Forneça um comando SQL parametrizado de um dos seguintes modos:
Use a entrada direta e digite o comando SQL na propriedade SQLStatement.
Use a entrada direta, clique em Construir Consulta e crie um comando SQL usando as ferramentas gráficas que o Construtor de Consultas fornece.
Use uma conexão de arquivo e depois faça referência ao arquivo que contém o comando SQL.
Use uma variável e depois faça referência à variável que contém o comando SQL.
Os marcadores de parâmetros que você usa nas instruções SQL parametrizadas dependem do tipo de conexão que a tarefa Executar SQL usa.
Tipo de conexão
Marcador de parâmetro
ADO
?
ADO.NET e SQLMOBILE
@<nome_do_parâmetro>
ODBC
?
EXCEL e OLE DB
?
A tabela a seguir lista exemplos do comando SELECT por tipo de gerenciador de conexões. Os parâmetros fornecem os valores de filtro nas cláusulas WHERE. Os exemplos usam SELECT para retornar produtos da tabela Product em AdventureWorks2012 que tenham um ProductID maior e menor que os valores especificados pelos dois parâmetros.
Tipo de conexão
Sintaxe de SELECT
EXCEL, ODBC e OLEDB
SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
ADO
SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
ADO.NET
SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID
Para obter exemplos de como usar parâmetros com procedimentos armazenados, consulte Parâmetros e códigos de retorno na Tarefa Executar SQL.
Clique em Mapeamento de Parâmetro.
Para adicionar um mapeamento de parâmetro, clique em Adicionar.
Forneça um nome na caixa Nome do Parâmetro.
Os nomes de parâmetros que você usa dependem do tipo de conexão que a tarefa Executar SQL usa.
Tipo de conexão
Nome do parâmetro
ADO
Param1, Param2,...
ADO.NET e SQLMOBILE
@<nome_do_parâmetro>
ODBC
1, 2, 3, …
EXCEL e OLE DB
0, 1, 2, 3, …
Na lista Nome da Variável, selecione uma variável. Para obter mais informações, consulte Adicionar, excluir, alterar o escopo de uma variável definida pelo usuário em um pacote.
Na lista Direção, especifique se o parâmetro é uma entrada, uma saída ou um valor de retorno.
Na lista Tipo de Dados, defina o tipo de dados do parâmetro.
Importante O tipo de dados do parâmetro deve ser compatível com o tipo de dados da variável.
Repita as etapas de 8 a 11 para cada parâmetro na instrução SQL.
Importante A ordem dos mapeamentos de parâmetros deve ser igual à ordem em que os parâmetros aparecem na instrução SQL.
Clique em OK.