Mapping di parametri di query a variabili in un'attività Esegui SQL
In questo argomento viene descritto come utilizzare un'istruzione SQL con parametri nell'attività Esegui SQL e come creare mapping tra variabili e parametri dell'istruzione SQL.
Per ulteriori informazioni sull'attività Esegui SQL, i marcatori di parametro e i nomi di parametro che è possibile utilizzare con i diversi tipi di connessioni, vedere Attività Esegui SQL e Parametri e codici restituiti nell'attività Esegui SQL.
Per eseguire il mapping di un parametro di query a una variabile
In SQL Server Data Tools (SSDT) aprire il pacchetto di Integration Services che si desidera utilizzare.
In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.
Fare clic sulla scheda Flusso di controllo.
Se il pacchetto non include già un'attività Esegui SQL, aggiungerne una al flusso di controllo del pacchetto. Per ulteriori informazioni, vedere Aggiunta o eliminazione di un'attività o un contenitore in un flusso di controllo.
Fare doppio clic sull'attività Esegui SQL.
Specificare un comando SQL con parametri in uno dei modi seguenti:
Utilizzare l'input diretto e digitare il comando SQL nella proprietà SQLStatement.
Utilizzare l'input diretto, fare clic su Compila query e quindi creare un comando SQL utilizzando gli strumenti grafici disponibili in Generatore query.
Utilizzare una connessione file e quindi fare riferimento al file che contiene il comando SQL.
Utilizzare una variabile e quindi fare riferimento alla variabile che contiene il comando SQL.
I marcatori di parametro che è possibile utilizzare nelle istruzioni SQL con parametri dipendono dal tipo di connessione utilizzato dall'attività Esegui SQL.
Tipo di connessione
Marcatore di parametro
ADO
?
ADO.NET e SQLMOBILE
@<nome parametro>
ODBC
?
EXCEL e OLE DB
?
Nella tabella seguente sono elencati esempi di comandi SELECT per tipo di gestione connessione. I parametri specificano i valori del filtro per la clausola WHERE. Negli esempi l'istruzione SELECT viene utilizzata per recuperare dalla tabella Product del database AdventureWorks2012 i prodotti con ProductID compreso tra i valori specificati da due parametri.
Tipo di connessione
Sintassi dell'istruzione 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
Per esempi relativi all'utilizzo di parametri con stored procedure, vedere Parametri e codici restituiti nell'attività Esegui SQL.
Fare clic su Mapping parametri.
Per aggiungere un mapping parametri, fare clic su Aggiungi.
Specificare un nome nella casella Nome parametro.
I nomi dei parametri utilizzati dipendono dal tipo di connessione utilizzato dall'attività Esegui SQL.
Tipo di connessione
Nome parametro
ADO
Param1, Param2, …
ADO.NET e SQLMOBILE
@<nome parametro>
ODBC
1, 2, 3, …
EXCEL e OLE DB
0, 1, 2, 3, …
Selezionare una variabile nell'elenco Nome variabile. Per ulteriori informazioni, vedere Aggiungere, eliminare o modificare l'ambito di una variabile definita dall'utente in un pacchetto.
Nell'elenco Direzione specificare se il parametro è un input, un output o un valore restituito.
Nell'elenco Tipo di dati impostare il tipo di dati del parametro.
Importante Il tipo di dati del parametro deve essere compatibile con quello della variabile.
Ripetere i passaggi da 8 a 11 per ogni parametro nell'istruzione SQL.
Importante I mapping dei parametri devono essere specificati nello stesso ordine con cui compaiono i parametri nell'istruzione SQL.
Fare clic su OK.