Utilizzo di variabili nel componente scriptUsing Variables in the Script Component

Nelle variabili vengono archiviati valori che possono essere utilizzati in fase di esecuzione da un pacchetto e dai relativi contenitori, attività e gestori eventi.Variables store values that a package and its containers, tasks, and event handlers can use at run time. Per altre informazioni, vedere Integration Services (SSIS) Variables.For more information, see Integration Services (SSIS) Variables.

È possibile rendere disponibili per le variabili esistenti di sola lettura o accesso in lettura/scrittura per lo script personalizzato immettendo elenchi delimitati da virgole di variabili nel ReadOnlyVariables e ReadWriteVariables campi di Script pagina del Editor trasformazione Script.You can make existing variables available for read-only or read/write access by your custom script by entering comma-delimited lists of variables in the ReadOnlyVariables and ReadWriteVariables fields on the Script page of the Script Transformation Editor. Tenere presente che per i nomi delle variabili viene applicata la distinzione tra maiuscole e minuscole.Keep in mind that variable names are case-sensitive. Utilizzare il valore proprietà da leggere e scrivere in singole variabili.Use the Value property to read from and write to individual variables. Il componente script gestisce automaticamente l'eventuale blocco richiesto mentre lo script modifica le variabili in fase di esecuzione.The Script component handles any required locking behind the scenes as your script manipulates the variables at run time.

Importante

La raccolta di ReadWriteVariables è disponibile solo nel PostExecute per ottimizzare le prestazioni e ridurre al minimo il rischio di conflitti di blocco.The collection of ReadWriteVariables is only available in the PostExecute method to maximize performance and minimize the risk of locking conflicts. Pertanto, non è possibile incrementare direttamente il valore di una variabile del pacchetto durante l'elaborazione di ogni riga di dati.Therefore you cannot directly increment the value of a package variable as you process each row of data. Incrementare il valore di una variabile locale invece e impostare il valore della variabile del pacchetto per il valore della variabile locale nel PostExecute metodo dopo tutti i dati è stata elaborata.Increment the value of a local variable instead, and set the value of the package variable to the value of the local variable in the PostExecute method after all data has been processed. È anche possibile utilizzare la proprietà VariableDispenser per ovviare a questa limitazione, come descritto più avanti in questo argomento.You can also use the VariableDispenser property to work around this limitation, as described later in this topic. 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.However, writing directly to a package variable as each row is processed will negatively impact performance and increase the risk of locking conflicts.

Per ulteriori informazioni sul Script pagina del Editor trasformazione Script, vedere configurazione del componente Script nell'Editor del componente di Script e Editor trasformazione Script ( Pagina di script ) .For more information about the Script page of the Script Transformation Editor, see Configuring the Script Component in the Script Component Editor and Script Transformation Editor (Script Page).

Il componente Script crea un variabili classe di raccolte nel ComponentWrapper elemento del progetto con una proprietà della funzione di accesso fortemente tipizzate per il valore di ogni variabile preconfigurata in cui la proprietà ha lo stesso nome della variabile stessa.The Script component creates a Variables collection class in the ComponentWrapper project item with a strongly-typed accessor property for the value of each preconfigured variable where the property has the same name as the variable itself. Questa raccolta viene esposta tramite il variabili proprietà del la classe ScriptMain classe.This collection is exposed through the Variables property of the ScriptMain class. La proprietà della funzione di accesso fornisce autorizzazioni di sola lettura o di lettura/scrittura al valore della variabile, a seconda dei casi.The accessor property provides read-only or read/write permission to the value of the variable as appropriate. Ad esempio, se è stata aggiunta una variabile integer denominata MyIntegerVariable per il ReadOnlyVariables elenco, è possibile recuperare il relativo valore nello script usando il codice seguente:For example, if you have added an integer variable named MyIntegerVariable to the ReadOnlyVariables list, you can retrieve its value in your script by using the following code:

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.You can also use the VariableDispenser property, accessed by calling Me.VariableDispenser, to work with variables in the Script component. In questo caso, non si utilizzano le proprietà delle funzioni di accesso tipizzate e denominate per le variabili, ma si accede alle variabili direttamente.In this case you are not using the typed and named accessor properties for variables, but accessing the variables directly. 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.When using the VariableDispenser, you must handle both the locking semantics and the casting of data types for variable values in your own code. È 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.You have to use the VariableDispenser property instead of the named and typed accessor properties if you want to work with a variable that is not available at design time but is created programmatically at run time.

Vedere ancheSee Also

Integration Services ( SSIS ) Variabili Integration Services (SSIS) Variables
Utilizzare le variabili nei pacchettiUse Variables in Packages