Utilizzo di variabili nel componente script
Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory
Nelle variabili vengono archiviati valori che possono essere usati in fase di esecuzione da un pacchetto di e dai relativi contenitori, attività e gestori eventi. Per altre informazioni, vedere Variabili di Integration Services (SSIS).
È possibile rendere disponibili le variabili esistenti per l'accesso di sola lettura o di lettura/scrittura da parte dello script personalizzato immettendo elenchi di variabili delimitate da virgole nei campi ReadOnlyVariables e ReadWriteVariables della pagina Script dell'Editor trasformazione Script. Tenere presente che per i nomi delle variabili viene applicata la distinzione tra maiuscole e minuscole. Usare la proprietà Value per leggere e scrivere in singole variabili. Il componente script gestisce automaticamente l'eventuale blocco richiesto mentre lo script modifica le variabili in fase di esecuzione.
Importante
La raccolta di ReadWriteVariables è disponibile solo nel metodo PostExecute per ottimizzare le prestazioni e ridurre il rischio di conflitti di blocco. Pertanto, non è possibile incrementare direttamente il valore di una variabile del pacchetto durante l'elaborazione di ogni riga di dati. Incrementare invece il valore di una variabile locale e impostare il valore della variabile del pacchetto sul valore della variabile locale nel metodo PostExecute dopo che tutti i dati sono stati elaborati. È anche possibile utilizzare la proprietà VariableDispenser per ovviare a questa limitazione, come descritto più avanti in questo argomento. Tuttavia, se si scrive direttamente in una variabile del pacchetto durante l'elaborazione di ogni riga, si verificano effetti negativi sulle prestazioni e aumenta il rischio di conflitti di blocco.
Per altre informazioni sulla pagina Script dell'Editor trasformazione Script, vedere Configurazione del componente script nell'editor corrispondente ed Editor trasformazione Script (pagina Script).
Il componente script crea una classe di raccolta Variables nell'elemento di progetto ComponentWrapper con una proprietà di funzione di accesso fortemente tipizzata per il valore di ogni variabile preconfigurata, in cui la proprietà ha lo stesso nome della variabile stessa. La raccolta viene esposta tramite la proprietà Variables della classe ScriptMain. La proprietà della funzione di accesso fornisce autorizzazioni di sola lettura o di lettura/scrittura al valore della variabile, a seconda dei casi. Se ad esempio è stata aggiunta una variabile di tipo integer denominata MyIntegerVariable
all'elenco ReadOnlyVariables, è possibile recuperarne il valore nello script tramite il codice seguente:
Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable
È anche possibile utilizzare la proprietà VariableDispenser, accessibile tramite una chiamata a Me.VariableDispenser
, per utilizzare le variabili nel componente script. In questo caso, non si utilizzano le proprietà delle funzioni di accesso tipizzate e denominate per le variabili, ma si accede alle variabili direttamente. Quando si utilizza VariableDispenser, è necessario gestire sia la semantica di blocco che il cast dei tipi di dati per i valori delle variabili nel codice personalizzato. È necessario utilizzare la proprietà VariableDispenser anziché le proprietà delle funzioni di accesso denominate e tipizzate se si desidera utilizzare una variabile non disponibile in fase di progettazione ma che viene creata a livello di codice in fase di esecuzione.
Vedi anche
Variabili di Integration Services (SSIS)
Uso di variabili nei pacchetti