Utilizzo di variabili nei pacchetti
Le variabili rappresentano un elemento aggiuntivo utile e flessibile dei Integration Services pacchetti. Consentono infatti la comunicazione tra i vari oggetti di un pacchetto e tra pacchetti padre e figlio. Le variabili possono essere utilizzate anche in espressioni e script.
Variabili definite dall'utente e variabili di sistema
Integration Services supporta variabili di sistema e variabili definite dall'utente. Quando si crea un nuovo pacchetto, si aggiunge un contenitore o un'attività a un pacchetto oppure si crea un gestore dell'evento, Integration Services include un set di variabili di sistema per il contenitore. Le variabili di sistema contengono informazioni utili su pacchetto, contenitore, attività o gestore dell'evento. Ad esempio, in fase di esecuzione la variabile di sistema MachineName include il nome del computer su cui è in esecuzione il pacchetto mentre la variabile StartTime include l'ora di inzio dell'esecuzione del pacchetto. Le variabili di sistema sono di sola lettura. Per ulteriori informazioni, vedere Variabili di sistema.
È possibile creare variabili definite dall'utente e utilizzarle quindi nei pacchetti. In SSIS queste variabili possono essere incluse negli script, nelle espressioni utilizzate da vincoli di precedenza, nel contenitore Ciclo For, nelle trasformazioni Colonna derivata e Suddivisione condizionale, nonché nelle espressioni di proprietà per l'aggiornamento dei valori delle proprietà.
È possibile, ad esempio, includere una variabile definita dall'utente nella condizione di valutazione per il contenitore Ciclo For. È inoltre possibile eseguire il mapping tra il valore della raccolta di enumeratori di un contenitore Ciclo Foreach e una variabile e, se un'attività Esegui SQL utilizza un'istruzione SQL con parametri, è possibile eseguire il mapping tra parametri dell'istruzione e variabili. Per ulteriori informazioni, vedere Variabili in Integration Services.
Scenari di utilizzo delle variabili
Nei pacchetti Integration Services le variabili vengono utilizzate in diversi modi. Durante lo sviluppo di un pacchetto vengono in genere aggiunte variabili definite dall'utente allo scopo di implementare la flessibilità e la gestibilità richieste dalla soluzione. A seconda dello scenario, vengono comunemente utilizzate anche variabili di sistema.
Espressioni di proprietà Utilizzano le variabili per specificare i valori nelle espressioni di proprietà che impostano gli oggetti e le proprietà dei pacchetti. L'espressione SELECT * FROM @varTableName, ad esempio, include la variabile varTableName che aggiorna l'istruzione SQL eseguita da un'attività Esegui SQL. L'espressione DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]" aggiorna il pacchetto eseguito dall'attività Esegui pacchetto, eseguendo il pacchetto specificato nella variabile varPackageFirst il primo giorno del mese e il pacchetto specificato nella variabile varPackageOther in giorni diversi. Per ulteriori informazioni, vedere Utilizzo delle espressioni di proprietà nei pacchetti.
Espressioni del flusso di dati Utilizzano le variabili per specificare valori nelle espressioni utilizzate dalle trasformazioni Colonna derivata e Suddivisione condizionale per popolare le colonne o per indirizzare le righe di dati nell'output di altre trasformazioni. L'espressione @varSalutation + LastName, ad esempio, concatena il valore della variabile VarSalutation e della colonna LastName. L'espressione Income < @HighIncome indirizza in un output le righe di dati in cui il valore della colonna Income è minore del valore della variabile HighIncome. Per ulteriori informazioni, vedere Trasformazione Colonna derivata, Trasformazione Suddivisione condizionale e Utilizzo di espressioni nei pacchetti.
Espressioni di vincoli di precedenza Forniscono i valori da utilizzare nei vincoli di precedenza per determinare se l'eseguibile soggetto al vincolo verrà eseguito o meno. Le espressioni possono essere utilizzate insieme al risultato di un'esecuzione (esito positivo, esito negativo, completamento) o in sostituzione di tale risultato. Se ad esempio l'espressione @varMax > @varMin restituisce true, l'eseguibile verrà eseguito. Per ulteriori informazioni, vedere Aggiunta di espressioni ai vincoli di precedenza.
Parametri e codice restituito Forniscono i valori ai parametri di input o archiviano i valori dei parametri di output e il codice restituito. A tale scopo viene eseguito il mapping delle variabili ai parametri e ai valori restituiti. Se ad esempio si imposta la variabile varProductId su 23 e si esegue l'istruzione SQL SELECT * from Production.Product WHERE ProductID = ?, la query recupera il prodotto il cui ProductID ha valore 23. Per ulteriori informazioni, vedere Attività Esegui SQL e Utilizzo di parametri e di codici restituiti nell'attività Esegui SQL.
Espressioni del ciclo For Forniscono i valori da utilizzare nell'inizializzazione, la valutazione e l'assegnazione di espressioni del ciclo For. Se ad esempio la variabile varCount è uguale a 2 e varMaxCount è uguale a 10, l'espressione di inizializzazione è @varCount, quella di valutazione è @varCount < @varMaxCount e quella di assegnazione è @varCount =@varCount +1, pertanto il ciclo si ripete 8 volte. Per ulteriori informazioni, vedere Contenitore Ciclo For.
Configurazioni Variabile pacchetto padre Passano i valori dai pacchetti padre ai pacchetti figlio. Queste configurazioni consentono ai pacchetti figlio di accedere alle variabili del pacchetto padre. Se ad esempio il pacchetto figlio deve utilizzare la stessa data del pacchetto padre, sarà possibile definire un tipo di configurazione Variabile pacchetto padre che specifichi un set di variabili tramite la funzione GETDATE nel pacchetto padre. Per ulteriori informazioni, vedere Attività Esegui pacchetto e Configurazioni di pacchetto.
Attività Script e componente script Forniscono un elenco di variabili di sola lettura e di lettura/scrittura all'attività Script o al componente script, aggiornano le variabili di lettura/scrittura all'interno dello script, quindi utilizzano i valori aggiornati all'interno o all'esterno dello script. Ad esempio, nel codice numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer) la variabile di script numberOfCars viene aggiornata dal valore della variabile NumberOfCars. Per ulteriori informazioni, vedere Utilizzo di variabili nell'attività Script.
Configurazioni e variabili
Per aggiornare le variabili in modo dinamico, è possibile creare configurazioni per le variabili, distribuirle insieme al pacchetto e quindi aggiornare i valori delle variabili nel file di configurazione quando si distribuiscono i pacchetti. In fase di esecuzione il pacchetto utilizza i valori di variabile aggiornati. Per ulteriori informazioni, vedere Creazione di configurazioni di pacchetto.
Per aggiungere, modificare ed eliminare variabili definite dall'utente
|