Variabili di Integration Services (SSIS)Integration Services (SSIS) Variables

Nelle variabili vengono archiviati valori che possono essere usati in fase di esecuzione da un pacchetto di SQL ServerSQL Server Integration ServicesIntegration Services e dai relativi contenitori, attività e gestori di eventi.Variables store values that a SQL ServerSQL Server Integration ServicesIntegration Services package and its containers, tasks, and event handlers can use at run time. Anche gli script nell'attività Script e nel componente script possono utilizzare le variabili.The scripts in the Script task and the Script component can also use variables. I vincoli di precedenza che definiscono la sequenza delle attività e dei contenitori in un flusso di lavoro possono utilizzare variabili quando le definizioni di vincolo includono espressioni.The precedence constraints that sequence tasks and containers into a workflow can use variables when their constraint definitions include expressions.

Nei pacchetti di Integration ServicesIntegration Services è possibile usare variabili per gli scopi seguenti:You can use variables in Integration ServicesIntegration Services packages for the following purposes:

  • Aggiornamento delle proprietà degli elementi dei pacchetti in fase di esecuzione.Updating properties of package elements at run time. È ad esempio possibile impostare dinamicamente il numero di eseguibili simultanei consentiti in un contenitore Ciclo Foreach.For example, you can dynamically set the number of concurrent executables that a Foreach Loop container allows.

  • Inclusione di una tabella di ricerca in memoria.Including an in-memory lookup table. Un pacchetto può ad esempio eseguire un'attività Esegui SQL che carica una variabile con valori di dati.For example, a package can run an Execute SQL task that loads a variable with data values.

  • Caricamento di variabili con valori di dati da utilizzare per specificare una condizione di ricerca in una clausola WHERE.Loading variables with data values and then using them to specify a search condition in a WHERE clause. Lo script in un'attività Script può ad esempio aggiornare il valore di una variabile utilizzata da un'istruzione Transact-SQL in un'attività Esegui SQL.For example, the script in a Script task can update the value of a variable that is used by a Transact-SQL statement in an Execute SQL task.

  • Caricamento di una variabile con un valore intero da utilizzare per il controllo del ciclo in un flusso di controllo di un pacchetto.Loading a variable with an integer and then using the value to control looping within a package control flow. È ad esempio possibile utilizzare una variabile nell'espressione di valutazione di un contenitore Ciclo For per controllare l'iterazione.For example, you can use a variable in the evaluation expression of a For Loop container to control iteration.

  • Popolamento di valori di parametri per istruzioni Transact-SQL in fase di esecuzione.Populating parameter values for Transact-SQL statements at run time. Un pacchetto può ad esempio eseguire un'attività Esegui SQL e quindi utilizzare variabili per impostare dinamicamente i parametri in un'istruzione Transact-SQL.For example, a package can run an Execute SQL task and then use variables to dynamically set the parameters in a Transact-SQL statement.

  • Compilazione di espressioni che includono valori di variabili.Building expressions that include variable values. La trasformazione Colonna derivata può ad esempio popolare una colonna con i risultati ottenuti moltiplicando il valore di una variabile per il valore di una colonna.For example, the Derived Column transformation can populate a column with the result obtained by multiplying a variable value by a column value.

Variabili definite dall'utente e variabili di sistemaSystem and user-defined variables

Integration ServicesIntegration Services supporta due tipi di variabili: variabili definite dall'utente e variabili di sistema. supports two types of variables: user-defined variables and system variables. Le variabili definite dall'utente vengono definite dagli sviluppatori dei pacchetti, mentre quelle di sistema sono definite da Integration ServicesIntegration Services.User-defined variables are defined by package developers, and system variables are defined by Integration ServicesIntegration Services. È possibile creare un numero illimitato di variabili definite dall'utente, ma non è possibile creare ulteriori variabili di sistema.You can create as many user-defined variables as a package requires, but you cannot create additional system variables.

Tutte le variabili, di sistema e definite dall'utente, possono essere utilizzate nelle associazioni di parametro utilizzate dall'attività Esegui SQL per il mapping variabili a parametri nelle istruzioni SQL.All variables—system and user-defined—can be used in the parameter bindings that the Execute SQL task uses to map variables to parameters in SQL statements. Per altre informazioni, vedere Attività Esegui SQL e Parametri e codici restituiti nell'attività Esegui SQL.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

Nota

Per i nomi delle variabili di sistema e delle variabili definite dall'utente viene fatta distinzione tra maiuscole e minuscole.The names of user-defined and system variables are case sensitive.

È possibile creare variabili definite dall'utente per tutti i tipi di contenitori di Integration ServicesIntegration Services , ovvero pacchetti, contenitori Ciclo Foreach, contenitori Ciclo For, contenitori Sequenza, attività e gestori di eventi.You can create user-defined variables for all Integration ServicesIntegration Services container types: packages, Foreach Loop containers, For Loop containers, Sequence containers, tasks, and event handlers. Le variabili definite dall'utente sono membri della raccolta Variables del contenitore.User-defined variables are members of the Variables collection of the container.

Se si crea il pacchetto usando Progettazione SSISSSIS , sarà possibile vedere i membri di una raccolta Variables nella cartella Variabili della scheda Esplora pacchetti di Progettazione SSISSSIS .If you create the package using SSISSSIS Designer, you can see the members of the Variables collections in the Variables folders on the Package Explorer tab of SSISSSIS Designer. Nelle cartelle vengono elencate sia le variabili definite dall'utente che le variabili di sistema.The folders list user-defined variables and system variables.

Nella configurazione delle variabili definite dall'utente è possibile:You can configure user-defined variables in the following ways:

  • Specificare un nome e una descrizione per la variabile.Provide a name and description for the variable.

  • Specificare uno spazio dei nomi per la variabile.Specify a namespace for the variable.

  • Indicare se la variabile genera un evento quando il relativo valore viene modificato.Indicate whether the variable raises an event when its value changes.

  • Indicare se la variabile è in sola lettura o in lettura e scrittura.Indicate whether the variable is read-only or read/write.

  • Utilizzare il risultato della valutazione di un'espressione per impostare il valore della variabile.Use the evaluation result of an expression to set the variable value.

  • Creare la variabile nell'ambito del pacchetto o di un oggetto del pacchetto, ad esempio un'attività.Create the variable in the scope of the package or a package object such as a task.

  • Specificare il valore e il tipo di dati della variabile.Specify the value and data type of the variable.

    L'unica opzione configurabile delle variabili di sistema è quella che determina se debba essere generato o meno un evento quando il valore viene modificato.The only configurable option on system variables is specifying whether they raise an event when they change value.

    Per ogni tipo di contenitore è disponibile un set di variabili di sistema specifico.A different set of system variables is available for different container types. Per altre informazioni sulle variabili di sistema usate dai pacchetti e dai relativi elementi, vedere Variabili di sistema.For more information about the system variables used by packages and their elements, see System Variables.

    Per altre informazioni su scenari reali relativi all'uso delle variabili, vedere Utilizzo di variabili nei pacchetti.For more information about real-life use scenarios for variables, see Use Variables in Packages.

Proprietà di variabiliProperties of variables

È possibile configurare le variabili definite dall'utente impostando le proprietà seguenti nella finestra Variabili o nella finestra Proprietà .You can configure user-defined variables by setting the following properties in either the Variables window or the Properties window. Alcune proprietà sono disponibili solo nella finestra Proprietà.Certain properties are available only in the Properties window.

Nota

L'unica opzione configurabile delle variabili di sistema è quella che determina se debba essere generato o meno un evento quando il valore viene modificato.The only configurable option on system variables is specifying whether they raise an event when they change value.

Description Description
Specifica la descrizione della variabile.Specifies the description of the variable.

EvaluateAsExpression EvaluateAsExpression
Quando la proprietà è impostata su True, viene usata l'espressione fornita per impostare il valore della variabile.When the property is set to True, the expression provided is used to set the variable value.

Espressione Expression
Specifica l'espressione assegnata alla variabile.Specifies the expression that is assigned to the variable.

Nome Name
Specifica il nome della variabile.Specifies the variable name.

Spazio dei nomiNamespace
Integration ServicesIntegration Servicesfornisce due spazi dei nomi utente e sistema. provides two namespaces, User and System. Per impostazione predefinita, le variabili personalizzate appartengono allo spazio dei nomi User , mentre le variabili di sistema appartengono allo spazio dei nomi System .By default, custom variables are in the User namespace, and system variables are in the System namespace. È possibile creare altri spazi dei nomi per le variabili definite dall'utente e modificare il nome dello spazio dei nomi User , ma non è possibile modificare il nome dello spazio dei nomi System , né aggiungere variabili allo spazio dei nomi System o assegnare variabili di sistema a uno spazio dei nomi diverso.You can create additional namespaces for user-defined variables and change the name of the User namespace, but you cannot change the name of the System namespace, add variables to the System namespace, or assign system variables to a different namespace.

RaiseChangedEventRaiseChangedEvent
Se la proprietà è impostata su True, quando viene modificato il valore della variabile viene generato l'evento OnVariableValueChanged .When the property is set to True, the OnVariableValueChanged event is raised when the variable changes value.

ReadOnlyReadOnly
Quando la proprietà è impostata su False, la variabile è in lettura/scrittura.When the property is set to False, the variable is read\write.

AmbitoScope

Nota

È possibile modificare questa proprietà solo facendo clic su Sposta variabile nella finestra Variabili .You can change this property setting only by clicking Move Variable in the Variables window.

Le variabili vengono create nell'ambito di un pacchetto o nell'ambito di un contenitore, attività o gestore di evento di un pacchetto.A variable is created within the scope of a package or within the scope of a container, task, or event handler in the package. Poiché il contenitore del pacchetto costituisce il livello principale della gerarchia dei contenitori, le variabili con ambito pacchetto sono variabili globali e possono essere utilizzate da tutti i contenitori del pacchetto.Because the package container is at the top of the container hierarchy, variables with package scope function like global variables and can be used by all containers in the package. Analogamente, le variabili definite nell'ambito di un contenitore, quale Ciclo For, possono essere utilizzate da tutti i contenitori e le attività inclusi nel contenitore Ciclo For.Similarly, variables defined within the scope of a container such as a For Loop container can be used by all tasks or containers within the For Loop container.

Se un pacchetto esegue altri pacchetti utilizzando l'attività Esegui pacchetto, sarà possibile utilizzare il tipo di configurazione Variabile pacchetto padre per rendere disponibili al pacchetto chiamato le variabili definite nell'ambito del pacchetto chiamante o dell'attività Esegui pacchetto.If a package runs other packages by using the Execute Package task, the variables defined in the scope of the calling package or the Execute Package task can be made available to the called package by using the Parent Package Variable configuration type. Per altre informazioni, vedere Configurazioni di pacchetto.For more information, see Package Configurations.

IncludeInDebugDumpIncludeInDebugDump
Indica se il valore della variabile viene incluso nei file di dump del debug.Indicate whether the variable value is included in the debug dump files.

Per variabili definite dall'utente e variabili di sistema, il valore predefinito per l'opzione InclueInDebugDump è true.For user-defined variables and system variables, the default value for the InclueInDebugDump option is true.

Per le variabili definite dall'utente, tuttavia, l'opzione IncludeInDebugDump viene reimpostata su false quando sono rispettate le condizioni seguenti:However, for user-defined variables, the system resets the IncludeInDebugDump option to false when the following conditions are met:

  • Se la proprietà della variabile EvaluateAsExpression è impostata su true, l'opzione IncludeInDebugDump verrà reimpostata su false.If the EvaluateAsExpression variable property is set to true, the system resets the IncludeInDebugDump option to false.

    Per includere il testo dell'espressione come valore della variabile nei file di dump del debug, impostare l'opzione IncludeInDebugDump su true.To include the text of the expression as the variable value in the debug dump files, set the IncludeInDebugDump option to true.

  • Se il tipo di dati della variabile viene cambiato in String, l'opzione IncludeInDebugDump verrà reimpostata su false.If the variable data type is changed to a string, the system resets the IncludeInDebugDump option to false.

    Durante la reimpostazione dell'opzione IncludeInDebugDump su falsepuò essere eseguito l'override del valore selezionato dall'utente.When the system resets the IncludeInDebugDump option to false, this might override the value selected by the user.

Valore Value
Il valore di una variabile definita dall'utente può essere un valore letterale o un'espressione.The value of a user-defined variable can be a literal or an expression. Le variabili includono opzioni per l'impostazione del valore e del relativo tipo di dati.A variable includes options for setting the variable value and the data type of the value. Queste due proprietà devono essere compatibili. Non è ad esempio possibile utilizzare un valore stringa insieme a un tipo di dati Integer.The two properties must be compatible: for example, the use of a string value together with an integer data type is not valid.

Se la variabile è configurata in modo da essere valutata come espressione, sarà necessario specificare un'espressione.If the variable is configured to evaluate as an expression, you must provide an expression. In fase di esecuzione l'espressione verrà valutata e la variabile verrà impostata sul risultato della valutazione.At run time, the expression is evaluated, and the variable is set to the evaluation result. Se ad esempio una variabile usa l'espressione DATEPART("month", GETDATE()) , assumerà un valore equivalente al numero del mese della data corrente.For example, if a variable uses the expression DATEPART("month", GETDATE()) the value of the variable is the number equivalent of the month for the current date. È necessario utilizzare un'espressione valida che utilizza la sintassi della grammatica delle espressioni di SSISSSIS .The expression must be a valid expression that uses the SSISSSIS expression grammar syntax. Quando si utilizza un'espressione con variabili, quest'ultima può includere valori letterali, nonché le funzioni e gli operatori previsti dalla grammatica delle espressioni, ma non può fare riferimento a colonne di un flusso di dati del pacchetto.When an expression is used with variables, the expression can use literals and the operators and functions that the expression grammar provides, but the expression cannot reference the columns from a data flow in the package. Un'espressione può avere una lunghezza massima di 4000 caratteri.The maximum length of an expression is 4000 characters. Per altre informazioni, vedere Espressioni di Integration Services (SSIS).For more information, see Integration Services (SSIS) Expressions.

ValueTypeValueType

Nota

Il valore della proprietà viene visualizzato nella colonna Tipo di dati della finestra Variabili .The property value appears in the Data type column in the Variables window.

Specificare il tipo di dati del valore della variabile.Specifies the data type of the variable value.

Scenari per l'utilizzo di variabiliScenarios for using variables

Nei pacchetti Integration ServicesIntegration Services le variabili vengono utilizzate in diversi modi.Variables are used in many different ways in Integration ServicesIntegration Services packages. 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.You will probably find that package development does not progress far before you have to add a user-defined variable to your package to implement the flexibility and manageability your solution requires. A seconda dello scenario, vengono comunemente utilizzate anche variabili di sistema.Depending on the scenario, system variables are also commonly used.

Espressioni di proprietà Usano le variabili per specificare i valori nelle espressioni di proprietà che impostano gli oggetti e le proprietà dei pacchetti.Property Expressions Use variables to provide values in the property expressions that set the properties of packages and package objects. L'espressione SELECT * FROM @varTableName , ad esempio, include la variabile varTableName che aggiorna l'istruzione SQL eseguita da un'attività Esegui SQL.For example, the expression, SELECT * FROM @varTableName includes the variable varTableName that updates the SQL statement that an Execute SQL task runs. 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 altri giorni.The expression, DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]", updates the package that the Execute Package task runs, by running the package specified in the varPackageFirst variable on the first day of the month and running the package specified in the varPackageOther variable on other days. Per altre informazioni, vedere Utilizzo delle espressioni di proprietà nei pacchetti.For more information, see Use Property Expressions in Packages.

Espressioni del flusso di dati Usano le variabili per specificare valori nelle espressioni usate dalle trasformazioni Colonna derivata e Suddivisione condizionale per popolare le colonne o per indirizzare le righe di dati nell'output di altre trasformazioni.Data Flow Expressions Use variables to provide values in the expressions that the Derived Column and Conditional Split transformations use to populate columns, or to direct data rows to different transformation outputs. L'espressione @varSalutation + LastName, ad esempio, concatena il valore della variabile VarSalutation e della colonna LastName .For example, the expression, @varSalutation + LastName, concatenates the value in the VarSalutation variable and the LastName column. 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.The expression, Income < @HighIncome, directs data rows in which the value of the Income column is less than the value in the HighIncome variable to an output. Per altre informazioni, vedere Trasformazione Colonna derivata, Trasformazione Suddivisione condizionale, e Espressioni di Integration Services (SSIS).For more information, see Derived Column Transformation, Conditional Split Transformation, and Integration Services (SSIS) Expressions.

Espressioni di vincoli di precedenza Forniscono i valori da usare nei vincoli di precedenza per determinare se l'eseguibile soggetto al vincolo verrà eseguito o meno.Precedence Constraint Expressions Provide values to use in precedence constraints to determine whether a constrained executable runs. Le espressioni possono essere utilizzate insieme al risultato di un'esecuzione (esito positivo, esito negativo, completamento) o in sostituzione di tale risultato.The expressions can be used either together with an execution outcome (success, failure, completion), or instead of an execution outcome. Se ad esempio l'espressione @varMax > @varMinrestituisce true, l'eseguibile verrà eseguito.For example, if the expression, @varMax > @varMin, evaluates to true, the executable runs. Per altre informazioni, vedere Aggiunta di espressioni ai vincoli di precedenza.For more information, see Add Expressions to Precedence Constraints.

Parametri e codici restituiti Forniscono i valori ai parametri di input o archiviano i valori dei parametri di output e i codici restituiti.Parameters and Return Codes Provide values to input parameters, or store the values of output parameters and return codes. A tale scopo viene eseguito il mapping delle variabili ai parametri e ai valori restituiti.You do this by mapping the variables to parameters and return values. 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.For example, if you set the variable varProductId to 23 and run the SQL statement, SELECT * from Production.Product WHERE ProductID = ?, the query retrieves the product with a ProductID of 23. Per altre informazioni, vedere Attività Esegui SQL e Parametri e codici restituiti nell'attività Esegui SQL.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

Espressioni del Ciclo For Forniscono i valori da usare nell'inizializzazione, la valutazione e l'assegnazione di espressioni del Ciclo For.For Loop Expressions Provide values to use in the initialization, evaluation, and assignment expressions of the For Loop. Se ad esempio la variabile varCount è uguale a 2 e varMaxCount è uguale a 10, l'espressione di inizializzazione è @varCount, quella di valutazione è @varCount < @varMaxCounte quella di assegnazione è @varCount =@varCount +1, pertanto il ciclo si ripete 8 volte.For example, if the variable varCount is 2 and varMaxCount is 10, the initialization expression is @varCount, the evaluation expression is @varCount < @varMaxCount, and the assignment expression is @varCount =@varCount +1, then the loop repeats 8 times. Per altre informazioni, vedere Contenitore Ciclo For.For more information, see For Loop Container.

Configurazioni Variabile pacchetto padre Passano i valori dai pacchetti padre ai pacchetti figlio.Parent Package Variable Configurations Pass values from parent packages to child packages. Queste configurazioni consentono ai pacchetti figlio di accedere alle variabili del pacchetto padre.Child packages can access variables in the parent package by using parent package variable configurations. 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.For example, if the child package must use the same date as the parent package, the child package can define a parent package variable configuration that specifies a variable set by the GETDATE function in the parent package. Per altre informazioni, vedere Attività Esegui pacchetto e Configurazioni di pacchetto.For more information, see Execute Package Task and Package Configurations.

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 usano i valori aggiornati all'interno o all'esterno dello script.Script Task and Script Component Provide a list of read-only and read/write variable to the Script task or Script component, update the read/write variables within the script, and then use the updated values in or outside the script. Ad esempio, nel codice numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer)la variabile di script numberOfCars viene aggiornata dal valore della variabile NumberOfCars.For example, in the code, numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), the script variable numberOfCars is updated by the value in the variable, NumberOfCars. Per altre informazioni, vedere Utilizzo di variabili nell'attività Script.For more information, see Using Variables in the Script Task.

Aggiungere una variabileAdd a variable

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il pacchetto di Integration ServicesIntegration Services che si desidera utilizzare.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services package you want to work with.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. In Progettazione SSISSSIS eseguire una delle operazioni seguenti per definire l'ambito della variabile:In SSISSSIS Designer, to define the scope of the variable, do one of the following:

    • Per impostare il pacchetto come ambito, fare clic in un punto qualsiasi dell'area di progettazione della scheda Flusso di controllo .To set the scope to the package, click anywhere on the design surface of the Control Flow tab.

    • Per impostare un gestore dell'evento come ambito, selezionare un file eseguibile e un gestore dell'evento nell'area di progettazione della scheda Gestore evento .To set the scope to an event handler, select an executable and an event handler on the design surface of the Event Handler tab.

    • Per impostare un'attività o un contenitore come ambito, nell'area di progettazione della scheda Flusso di controllo o Gestore evento fare clic su un'attività o un contenitore.To set the scope to a task or container, on the design surface of the Control Flow tab or the Event Handler tab, click a task or container.

  4. Scegliere Variabili dal menu SSIS.On the SSIS menu, click Variables. Facoltativamente, è possibile visualizzare la finestra Variabili eseguendo il mapping del comando View.Variables a una combinazione di tasti scelta dall'utente nella pagina Tastiera della finestra di dialogo Opzioni .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  5. Nella finestra Variabili fare clic sull'icona Aggiungi variabile .In the Variables window, click the Add Variable icon. La nuova variabile verrà aggiunta all'elenco.The new variable is added to the list.

  6. Facoltativamente, fare clic sull'icona Opzioni griglia , selezionare le colonne aggiuntive da visualizzare nella finestra di dialogo Variables Grid Options (Opzioni griglia variabili) e quindi fare clic su OK.Optionally, click the Grid Options icon, select additional columns to show in the Variables Grid Options dialog box, and then click OK.

  7. Facoltativamente, impostare le proprietà delle variabili.Optionally, set the variable properties. Per altre informazioni, vedere Impostazione delle proprietà di una variabile definita dall'utente.For more information, see Set the Properties of a User-Defined Variable.

  8. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Aggiungi variabile - finestra di dialogoAdd Variable dialog box

Usare la finestra di dialogo Aggiungi variabile per specificare le proprietà di una nuova variabile.Use the Add Variable dialog box to specify the properties of a new variable.

OpzioniOptions

ContenitoreContainer
Selezionare un contenitore nell'elenco.Select a container in the list. Il contenitore definisce l'ambito della variabileThe container defines the scope of the variable. e può essere un pacchetto o un file eseguibile nel pacchetto.The container can be either the package or an executable in the package.

NomeName
Consente di digitare il nome della variabile.Type the variable name.

Spazio dei nomiNamespace
Consente di specificare lo spazio dei nomi della variabile.Specify the namespace of the variable. Per impostazione predefinita, le variabili definite dall'utente si trovano nello spazio dei nomi Utente .By default, user-defined variables are in the User namespace.

Tipo di valoreValue type
Consente di selezionare un tipo di dati.Select a data type.

ValoreValue
Consente di digitare un valore.Type a value. Il valore deve essere compatibile con il tipo di dati specificato nell'opzione Tipo valore .The value must be compatible with the data type specified in the Value type option.

Sola letturaRead-only
Selezionare questa opzione se il valore deve essere di sola lettura.Select to make the variable read-only.

Eliminare una variabileDelete a variable

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul pacchetto in modo da aprirlo.In Solution Explorer, right-click the package to open it.

  3. Scegliere Variabili dal menu SSIS.On the SSIS menu, click Variables. Facoltativamente, è possibile visualizzare la finestra Variabili eseguendo il mapping del comando View.Variables a una combinazione di tasti scelta dall'utente nella pagina Tastiera della finestra di dialogo Opzioni .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Selezionare la variabile che si desidera eliminare e quindi fare clic su Elimina variabile.Select the variable to delete, and then click Delete Variable.

    Se la variabile non è visualizzata nella finestra Variabili, fare clic su Opzioni griglia , quindi selezionare Mostra variabili di tutti gli ambiti.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Se viene visualizzata la finestra di dialogo Conferma eliminazione variabili , fare clic su per confermare.If the Confirm Deletion of Variables dialog box opens, click Yes to confirm.

  6. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Modificare l'ambito di una variabileChange the scope of a variable

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul pacchetto in modo da aprirlo.In Solution Explorer, right-click the package to open it.

  3. Scegliere Variabili dal menu SSIS.On the SSIS menu, click Variables. Facoltativamente, è possibile visualizzare la finestra Variabili eseguendo il mapping del comando View.Variables a una combinazione di tasti scelta dall'utente nella pagina Tastiera della finestra di dialogo Opzioni .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Selezionare la variabile e quindi fare clic su Sposta variabile.Select the variable and then click Move Variable.

    Se la variabile non è visualizzata nella finestra Variabili, fare clic su Opzioni griglia , quindi selezionare Mostra variabili di tutti gli ambiti.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Nella finestra di dialogo Seleziona nuovo ambito selezionare il pacchetto oppure un contenitore, un'attività o un gestore eventi del pacchetto per modificare l'ambito della variabile.In the Select New Scope dialog box, select the package or a container, task, or event handler in the package, to change the variable scope.

  6. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Impostazione delle proprietà di una variabile definita dall'utenteSet the properties of a user-defined variable

Per impostare le proprietà di una variabile definita dall'utente in Integration ServicesIntegration Servicesè possibile utilizzare una delle funzionalità seguenti:To set the properties of a user-defined variable in Integration ServicesIntegration Services, you can use one of the following features:

  • Finestra Variabili.Variables window.

  • Finestra Proprietà.Properties window. La finestra Proprietà elenca le proprietà per la configurazione delle variabili non disponibili nella finestra Variabili : Description, EvaluateAsExpression, Expression, ReadOnly, ValueType e IncludeInDebugDump.The Properties window lists properties for configuring variables that are not available in the Variables window: Description, EvaluateAsExpression, Expression, ReadOnly, ValueType, and IncludeInDebugDump.

Nota

Integration ServicesIntegration Servicesfornisce inoltre un set di variabili di sistema le cui proprietà non viene aggiornate, fatta eccezione per la proprietà RaiseChangedEvent. also provides a set of system variables whose properties cannot be updated, with the exception of the RaiseChangedEvent property.

Impostare le espressioni nelle variabiliSet expressions on variables

Quando si usa la finestra Proprietà per impostare le espressioni in una variabile definita dall'utente:When you use the Properties window to set expressions on a user-defined variable:

  • Il valore di una variabile può essere impostato tramite la proprietà Value o Expression.The value of a variable can be set by the Value or the Expression property. Per impostazione predefinita, la proprietà valuateAsExpression è impostata su False e il valore della variabile è impostato dalla proprietà Value.By default, the EvaluateAsExpression property is set to False and the value of the variable is set by the Value property. Per impostare il valore tramite un'espressione, è necessario prima impostare EvaluateAsExpression su Truee quindi specificare un'espressione nella proprietà Expression.To use an expression to set the value, you must first set EvaluateAsExpression to True, and then provide an expression in the Expression property. La proprietà Value viene impostata automaticamente sul risultato restituito dall'espressione.The Value property is automatically set to the evaluation result of the expression.

  • La proprietà ValueType contiene il tipo di dati del valore della proprietà Value.The ValueType property contains the data type of the value in the Value property. Quando la proprietà Value viene impostata tramite un'espressione, la proprietà ValueType viene automaticamente aggiornata a un tipo di dati compatibile con il risultato restituito dall'espressione.When Value is set by an expression, ValueType is automatically updated to a data type that is compatible with the evaluation result of the expression. Ad esempio, se la proprietà Value contiene il valore 0 e ValueType contiene Int32 e si imposta Expression su GETDATE(), la proprietà Value conterrà la data e l'ora correnti e ValueType verrà impostata su DateTime.For example, if Value contains 0 and ValueType property contains Int32 and you then set Expression to GETDATE(), Value contains the current date and time and ValueType is set to DateTime.

  • Tramite la finestra Proprietà della variabile è possibile accedere alla finestra di dialogo Generatore di espressioni ,The Properties window for the variable provides access to the Expression Builder dialog box. che consente di compilare, convalidare e valutare le espressioni.You can use this tool to build, validate, and evaluate expressions. Per altre informazioni, vedere Generatore di espressioni e Espressioni di Integration Services (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    Quando si usa la finestra Variabili per impostare le espressioni in una variabile definita dall'utente:When you use the Variables window to set expressions on a user-defined variable:

  • Per usare un'espressione per impostare il valore della variabile, verificare prima che il tipo di dati della variabile sia compatibile con il risultato della valutazione dell'espressione e quindi specificare un'espressione nella colonna Espressione della finestra Variabili .To use an expression to set the variable value, first confirm that the variable data type is compatible with the evaluation result of the expression and then provide an expression in the Expression column of the Variables window. La proprietà EvaluateAsExpression nella finestra Proprietà viene automaticamente impostata su True.The EvaluateAsExpression property in the Properties window is automatically set to True.

  • Quando si assegna un'espressione a una variabile, accanto a quest'ultima viene visualizzato un marcatore icona speciale.When you assign an expression to a variable, a special icon marker displays next to the variable. Tale marcatore icona speciale viene visualizzato anche accanto alle gestioni connessioni e alle attività in cui sono impostate espressioni.This special icon marker also displays next to connection managers and tasks that have expressions set on them.

  • Tramite la finestra Variabili della variabile è possibile accedere alla finestra di dialogo Generatore di espressioni ,The Variables window for the variable provides access to the Expression Builder dialog box. che consente di compilare, convalidare e valutare le espressioni.You can use this tool to build, validate, and evaluate expressions. Per altre informazioni, vedere Generatore di espressioni e Espressioni di Integration Services (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    In entrambe le finestre Variabili e Proprietà, se si assegna un'espressione a una variabile ed EvaluateAsExpression è impostato su True, non sarà possibile modificare il tipo di dati della variabile.In both the Variables and Properties window, if you assign an expression to the variable, and EvaluateAsExpression is set to True, you cannot change the variable data type.

Impostare la proprietà Namespace e NameSet the Namespace and Name properties

I valori delle proprietà Name e Namespace devono iniziare con una delle lettere dell'alfabeto definite dallo standard Unicode 2.0 oppure con un carattere di sottolineatura ().The values of the Name and Namespace properties must begin with an alphabetic character letter as defined by the Unicode Standard 2.0, or an underscore (). I caratteri successivi possono includere lettere o numeri, come definito dallo standard Unicode 2.0, o il carattere di sottolineatura (_).Subsequent characters can be letters or numbers as defined in the Unicode Standard 2.0, or the underscore (_).

Impostare le proprietà delle variabili nella finestra variabiliSet Variable Properties in the Variables Window

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul pacchetto in modo da aprirlo.In Solution Explorer, right-click the package to open it.

  3. Scegliere Variabili dal menu SSIS.On the SSIS menu, click Variables.

    Facoltativamente, è possibile visualizzare la finestra Variabili eseguendo il mapping del comando View.Variables a una combinazione di tasti scelta dall'utente nella pagina Tastiera della finestra di dialogo Opzioni .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Facoltativamente, nella finestra Variabili fare clic su Opzioni griglia, quindi selezionare le colonne che si vuole visualizzare nella finestra Variabili e selezionare i filtri da applicare all'elenco di variabili.Optionally, in the Variables window click Grid Options, and then select the columns to appear in the Variables window and select the filters to apply to the list of variables.

  5. Selezionare la variabile nell'elenco e quindi aggiornare i valori delle colonne Nome, Tipo di dati, Valore, Spazio dei nomi, Raise Change Event(Genera evento di modifica), Descrizione ed Espressione .Select the variable in the list, and then update values in the Name, Data Type, Value, Namespace, Raise Change Event, Description, and Expression columns.

  6. Selezionare la variabile nell'elenco e quindi fare clic su Sposta variabile per modificarne l'ambito.Select the variable in the list, and then click Move Variable to change the scope.

  7. Per salvare il pacchetto aggiornato, dal menu File scegliere Salva elementi selezionati.To save the updated package, on the File menu, click Save Selected Items.

Impostare le proprietà delle variabili nella finestra proprietàSet Variable Properties in the Properties Window

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul pacchetto in modo da aprirlo.In Solution Explorer, right-click the package to open it.

  3. Scegliere Finestra Proprietà dal menu Visualizza.On the View menu, click Properties Window.

  4. In Progettazione SSISSSIS fare clic sulla scheda Esplora pacchetti ed espandere il nodo Pacchetto.In SSISSSIS Designer, click the Package Explorer tab and expand the Package node.

  5. Per modificare le variabili con ambito pacchetto, espandere il nodo Variabili oppure espandere il nodo Gestori eventi o File eseguibili fino a individuare il nodo Variabili contenente la variabile che si desidera modificare.To modify variables with package scope, expand the Variables node; otherwise, expand the Event Handlers or Executables nodes until you locate the Variables node that contains the variable that you want to modify.

  6. Fare clic sulla variabile di cui si desidera modificare le proprietà.Click the variable whose properties you want to modify.

  7. Nella finestra Proprietà aggiornare le proprietà delle variabili in lettura/scrittura.In the Properties window, update the read/write variable properties. Alcune proprietà sono di sola lettura per le variabili definite dall'utente.Some properties are read/read only for user-defined variables.

    Per ulteriori informazioni sulle proprietà, vedere Integration Services ( SSIS ) Le variabili.For more information about the properties, see Integration Services (SSIS) Variables.

  8. Per salvare il pacchetto aggiornato, dal menu File scegliere Salva elementi selezionati.To save the updated package, on the File menu, click Save Selected Items.

Aggiornare una variabile in modo dinamico con configurazioniUpdate a variable dynamically with configurations

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.To dynamically update variables, you can create configurations for the variables, deploy the configurations with the package, and then update the variable values in the configuration file when you deploy the packages. In fase di esecuzione il pacchetto utilizza i valori di variabile aggiornati.At run time, the package uses the updated variable values. Per altre informazioni, vedere Creazione di configurazioni dei pacchetti.For more information, see Create Package Configurations.

Utilizzare i valori di variabili e parametri in un pacchetto figlioUse the Values of Variables and Parameters in a Child Package

Mapping dei parametri di query a variabili in un componente del flusso di datiMap Query Parameters to Variables in a Data Flow Component