Condividi tramite


Utilizzo di variabili nel componente script

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 variabili esistenti per l'accesso in sola lettura o in lettura/scrittura dallo script personalizzato immettendo elenchi delimitati da virgole di variabili nei ReadOnlyVariables campi e ReadWriteVariables nella pagina Script dell'Editor trasformazione Script. Tenere presente che per i nomi delle variabili viene applicata la distinzione tra maiuscole e minuscole. Utilizzare 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 aumentare 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. Al contrario, incrementare il valore di una variabile locale e impostare il valore della variabile del pacchetto sul valore della variabile locale nel metodo PostExecute dopo l'elaborazione di tutti i dati. È 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. Questa 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 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.

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services
Per i download, gli articoli, gli esempi e i video più recenti di Microsoft, nonché le soluzioni selezionate dalla community, visitare la pagina integration services in MSDN:

Visitare la pagina relativa a Integration Services su MSDN

Per ricevere una notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.

Vedi anche

Variabili di Integration Services (SSIS)
Uso di variabili nei pacchetti