Componente scriptScript Component

Il componente Script ospita lo script e consente a un pacchetto di includere ed eseguire codice script personalizzato.The Script component hosts script and enables a package to include and run custom script code. È possibile utilizzare il componente script nei pacchetti per gli scopi seguenti:You can use the Script component in packages for the following purposes:

  • Applicare più trasformazioni ai dati anziché utilizzare più trasformazioni nel flusso di dati.Apply multiple transformations to data instead of using multiple transformations in the data flow. Uno script può ad esempio sommare i valori in due colonne e quindi calcolare la media della somma.For example, a script can add the values in two columns and then calculate the average of the sum.

  • Accedere a regole business in un assembly .NET esistente.Access business rules in an existing .NET assembly. Uno script può ad esempio applicare una regola business che specifica l'intervallo dei valori validi in una colonna di nome Income .For example, a script can apply a business rule that specifies the range of values that are valid in an Income column.

  • Utilizzare formule e funzioni personalizzate, in aggiunta alle funzioni e agli operatori forniti dalla grammatica delle espressioni di Integration ServicesIntegration Services .Use custom formulas and functions in addition to the functions and operators that the Integration ServicesIntegration Services expression grammar provides. È ad esempio possibile convalidare i numeri delle carte di credito che usano la formula LUHN.For example, validate credit card numbers that use the LUHN formula.

  • Convalidare i dati delle colonne e ignorare i record che contengono dati non validi.Validate column data and skip records that contain invalid data. Uno script può ad esempio stabilire se l'importo delle spese postali è ragionevole e ignorare i record che includono importi troppo alti o troppo bassi.For example, a script can assess the reasonableness of a postage amount and skip records with extremely high or low amounts.

    Il componente script consente di includere in modo facile e veloce funzioni personalizzate in un flusso di dati.The Script component provides an easy and quick way to include custom functions in a data flow. Se tuttavia si prevede di riutilizzare il codice di script in più pacchetti, è preferibile creare un componente personalizzato anziché utilizzare il componente script.However, if you plan to reuse the script code in multiple packages, you should consider programming a custom component instead of using the Script component. Per altre informazioni, vedere Sviluppo di un componente del flusso di dati personalizzato.For more information, see Developing a Custom Data Flow Component.

Nota

Se il componente script contiene uno script che tenta di leggere il valore di una colonna NULL, quando si esegue il pacchetto si verifica un errore.If the Script component contains a script that tries to read the value of a column that is NULL, the Script component fails when you run the package. È consigliabile che lo script usi il metodo IsNull per determinare se la colonna è NULL prima di tentare di leggere il valore della colonna.We recommend that your script use the IsNull method to determine whether the column is NULL before trying to read the column value.

Il componente script può essere utilizzato come origine, trasformazione o destinazione.The Script component can be used as a source, a transformation, or a destination. Questo componente supporta un input e più output.This component supports one input and multiple outputs. A seconda di come viene utilizzato, il componente supporta un input o più output oppure entrambi.Depending on how the component is used, it supports either an input or outputs or both. Lo script viene richiamato da ogni riga nell'input o nell'output.The script is invoked by every row in the input or output.

  • Se utilizzato come origine, il componente script supporta più output.If used as a source, the Script component supports multiple outputs.

  • Se utilizzato come trasformazione, il componente script supporta un input e più output.If used as a transformation, the Script component supports one input and multiple outputs.

  • Se utilizzato come destinazione, il componente script supporta un input.If used as a destination, the Script component supports one input.

    Il componente script non supporta output degli errori.The Script component does not support error outputs.

    Una volta stabilito che il componente Script è la scelta più appropriata per il pacchetto, è necessario configurare gli input e gli output, sviluppare lo script utilizzato dal componente e configurare il componente stesso.After you decide that the Script component is the appropriate choice for your package, you have to configure the inputs and outputs, develop the script that the component uses, and configure the component itself.

Informazioni sulle modalità del componente scriptUnderstanding the Script Component Modes

In Progettazione SSISSSIS sono disponibili due modalità per il componente script: progettazione metadati e progettazione codice.In the SSISSSIS Designer, the Script component has two modes: metadata-design mode and code-design mode. In modalità progettazione metadati è possibile aggiungere e modificare gli input e gli output del componente script, ma non scrivere codice.In metadata-design mode, you can add and modify the Script component inputs and outputs, but you cannot write code. Dopo avere configurato tutti gli input e gli output è possibile passare alla modalità progettazione codice per creare lo script.After all the inputs and outputs are configured, you switch to code-design mode to write the script. Il componente script genera automaticamente il codice di base dai metadati degli input e degli output.The Script component automatically generates base code from the metadata of the inputs and outputs. Se si modificano i metadati dopo la generazione del codice di base, non sarà più possibile compilare il codice perché il codice di base aggiornato potrebbe essere incompatibile con quello inserito dall'utente.If you change the metadata after the Script component generates the base code, your code may no longer compile because the updated base code may be incompatible with your code.

Scrittura dello script utilizzato dal componenteWriting the Script that the Component Uses

Il componente script usa MicrosoftMicrosoft Visual StudioVisual Studio Tools for Applications (VSTA) come ambiente di scrittura degli script.The Script component uses MicrosoftMicrosoft Visual StudioVisual Studio Tools for Applications (VSTA) as the environment in which you write the scripts. Si accede a VSTA dall' Editor trasformazione Script.You access VSTA from the Script Transformation Editor. Per altre informazioni, vedere Editor trasformazione Script (pagina Script).For more information, see Script Transformation Editor (Script Page).

Il componente script fornisce un progetto VSTA che include una classe generata automaticamente, ScriptMain, che rappresenta i metadati del componente.The Script component provides a VSTA project that includes an auto-generated class, named ScriptMain, that represents the component metadata. Se ad esempio il componente script viene utilizzato come trasformazione con tre output, la classe ScriptMain includerà un metodo per ogni output.For example, if the Script component is used as a transformation that has three outputs, ScriptMain includes a method for each output. La classe ScriptMain costituisce il punto di ingresso dello script.ScriptMain is the entry point to the script.

In VSTA sono disponibili tutte le caratteristiche standard dell'ambiente Visual StudioVisual Studio , come l'editor di Visual StudioVisual Studio con codifica a colori, la tecnologia IntelliSense e il Visualizzatore oggetti.VSTA includes all the standard features of the Visual StudioVisual Studio environment, such as the color-coded Visual StudioVisual Studio editor, IntelliSense, and Object Browser. Lo script utilizzato dal componente script è archiviato nella definizione del pacchetto.The script that the Script component uses is stored in the package definition. Durante la progettazione del pacchetto, il codice di script viene scritto temporaneamente in un file di progetto.When you are designing the package, the script code is temporarily written to a project file.

VSTA supporta il linguaggio di programmazione MicrosoftMicrosoft Visual C# e MicrosoftMicrosoft Visual Basic.VSTA supports the MicrosoftMicrosoft Visual C# and MicrosoftMicrosoft Visual Basic programming languages.

Per altre informazioni sulla programmazione del componente Script, vedere Estensione del flusso di dati con il componente script.For information about how to program the Script component, see Extending the Data Flow with the Script Component. Per altre informazioni sulla configurazione del componente script come origine, trasformazione o destinazione, vedere Sviluppo di tipi specifici di componenti script.For more specific information about how to configure the Script component as a source, transformation, or destination, see Developing Specific Types of Script Components. Per altri esempi, come una destinazione ODBC che dimostri l'uso del componente script, vedere Ulteriori esempi di componente script.For additional examples such as an ODBC destination that demonstrate the use of the Script component, see Additional Script Component Examples.

Nota

A differenza delle versioni precedenti in cui era possibile indicare se gli script erano precompilati o meno, in SQL Server 2008 Integration Services (SSIS)SQL Server 2008 Integration Services (SSIS) e versioni successive tutti gli script sono precompilati.Unlike earlier versions where you could indicate whether the scripts were precompiled, all scripts are precompiled in SQL Server 2008 Integration Services (SSIS)SQL Server 2008 Integration Services (SSIS) and later versions. Se uno script è precompilato, il motore del linguaggio non verrà caricato in fase di esecuzione e il pacchetto verrà eseguito molto più rapidamente.When a script is precompiled, the language engine is not loaded at run time and the package runs more quickly. I file binari precompilati occupano tuttavia una notevole quantità di spazio su disco.However, precompiled binary files consume significant disk space.

Configurazione del componente scriptConfiguring the Script Component

Per configurare il componente script, procedere nel modo seguente:You can configure the Script component in the following ways:

  • Selezionare le colonne di input a cui fare riferimento.Select the input columns to reference.

    Nota

    È possibile configurare un solo input quando si usa Progettazione SSISSSIS .You can configure only one input when you use the SSISSSIS Designer.

  • Specificare lo script che deve essere eseguito dal componente.Provide the script that the component runs.

  • Specificare il linguaggio di scripting.Specify the script language.

  • Specificare le variabili in sola lettura e in lettura e scrittura in elenchi delimitati da virgole.Provide comma-separated lists of read-only and read/write variables.

  • Aggiungere altri output e le colonne di output a cui lo script assegna valori.Add more outputs, and add output columns to which the script assigns.

    È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

Configurazione del componente script in ProgettazioneConfiguring the Script Component in the Designer

Per altre informazioni sull'impostazione di queste proprietà in Progettazione SSISSSIS , fare clic sull'argomento seguente:For more information about how to set these properties in SSISSSIS Designer, click the following topic:

Configurazione del componente script a livello di codiceConfiguring the Script Component Programmatically

Per altre informazioni sulle proprietà che è possibile impostare nella finestra Proprietà o a livello di codice, fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in the Properties window or programmatically, click one of the following topics:

Seleziona tipo componente scriptSelect Script Component Type

Utilizzare la finestra di dialogo Seleziona tipo componente script per specificare la creazione di una trasformazione Script preconfigurata da utilizzare come origine, trasformazione o destinazione.Use the Select Script Component Type dialog box to specify whether to create a Script Transformation that is preconfigured for use as a source, a transformation, or a destination.

Per ulteriori informazioni sul componente Script, vedere configurazione del componente Script nell'Editor del componente di Script.To learn more about the Script component, see Configuring the Script Component in the Script Component Editor. Per informazioni sulla programmazione del componente Script, vedere Extending the Data Flow with the Script Component.To learn about programming the Script component, see Extending the Data Flow with the Script Component.

OpzioniOptions

La selezione dell'opzione Origine, Destinazioneo Trasformazione influisce sulla configurazione della trasformazione Script e sulle pagine dell'editor trasformazione Script visualizzate.Your selection of Source, Destination, or Transformation affects the configuration of the Script Transformation and the pages of the Script Transformation Editor.

Editor trasformazione Script (pagina Gestioni connessioni)Script Transformation Editor (Connection Managers Page)

Utilizzare la pagina Gestioni connessioni dell' Editor trasformazione Script per specificare le connessioni che verranno utilizzate dallo script.Use the Connection Managers page of the Script Transformation Editor to specify any connections that will be used by the script.

Per ulteriori informazioni sul componente Script, vedere configurazione del componente Script nell'Editor del componente di Script.To learn more about the Script component, see Configuring the Script Component in the Script Component Editor. Per informazioni sulla programmazione del componente Script, vedere Extending the Data Flow with the Script Component.To learn about programming the Script component, see Extending the Data Flow with the Script Component.

OpzioniOptions

Connection managersConnection managers
Consente di visualizzare l'elenco delle connessioni disponibili per l'utilizzo da parte dello script.View the list of connections available for use by the script.

NomeName
Consente di digitare un nome descrittivo univoco per la connessione.Type a unique and descriptive name for the connection.

Gestione connessioneConnection Manager
Selezionare dall'elenco delle gestioni connessioni disponibili oppure selezionare <nuova connessione > per aprire la Aggiungi gestione connessione SSIS la finestra di dialogo.Select from the list of available connection managers, or select <New connection> to open the Add SSIS Connection Manager dialog box.

DescriptionDescription
Consente di digitare una descrizione per la connessione.Type a description for the connection.

AggiungiAdd
Consente di aggiungere un'altra connessione all'elenco Gestioni connessioni .Add another connection to the Connection managers list.

RimuoviRemove
Consente di rimuovere la connessione selezionata dall'elenco Gestioni connessioni .Remove the selected connection from the Connection managers list.

Editor trasformazione Script (pagina Colonne di input)Script Transformation Editor (Input Columns Page)

Usare la pagina Colonne di input della finestra di dialogo Editor trasformazione Script per impostare le proprietà delle colonne di input.Use the Input Columns page of the Script Transformation Editor dialog box to set properties on input columns.

Nota

La pagina Colonne di input non viene visualizzata per i componenti di origine, che hanno output ma non input.The Input Columns page is not displayed for Source components, which have outputs but no inputs.

Per ulteriori informazioni sul componente Script, vedere configurazione del componente Script nell'Editor del componente di Script.To learn more about the Script component, see Configuring the Script Component in the Script Component Editor. Per informazioni sulla programmazione del componente Script, vedere Extending the Data Flow with the Script Component.To learn about programming the Script component, see Extending the Data Flow with the Script Component.

OpzioniOptions

Nome inputInput name
Consente di selezionare un nome nell'elenco degli input disponibili.Select from the list of available inputs.

Colonne di input disponibiliAvailable Input Columns
Utilizzando le caselle di controllo, specificare le colonne che verranno utilizzate dalla trasformazione script.Using the check boxes, specify the columns that the script transformation will use.

Colonna di inputInput Column
Consente di selezionare una colonna di input nell'elenco delle colonne di input disponibili per ogni riga.Select from the list of available input columns for each row. Le opzioni selezionate corrispondono alle caselle di controllo selezionate nella tabella Colonne di input disponibili.Your selections are reflected in the check box selections in the Available Input Columnstable.

Alias di outputOutput Alias
Consente di digitare un alias per ogni colonna di output.Type an alias for each output column. Per impostazione predefinita viene suggerito il nome della colonna di input. È comunque possibile scegliere qualsiasi nome descrittivo univoco.The default is the name of the input column; however, you can choose any unique, descriptive name.

Tipo di utilizzoUsage Type
Consente di specificare se la trasformazione Script deve considerare ogni colonna come ReadOnly o ReadWrite.Specify whether the Script Transformation will treat each column as ReadOnly or ReadWrite.

Editor trasformazione Script (pagina Input e output)Script Transformation Editor (Inputs and Outputs Page)

Utilizzare la pagina Input e output della finestra di dialogo Editor trasformazione Script per aggiungere, rimuovere e configurare input e output per la trasformazione script.Use the Inputs and Outputs page of the Script Transformation Editor dialog box to add, remove, and configure inputs and outputs for the Script Transformation.

Nota

I componenti di origine dispongono di output e di nessun input, mentre i componenti di destinazione dispongono di input e di nessun output.Source components have outputs and no inputs, while destination components have inputs but no outputs. Le trasformazioni dispongono sia di input che di output.Transformations have both inputs and outputs.

Per ulteriori informazioni sul componente Script, vedere configurazione del componente Script nell'Editor del componente di Script.To learn more about the Script component, see Configuring the Script Component in the Script Component Editor. Per informazioni sulla programmazione del componente Script, vedere Extending the Data Flow with the Script Component.To learn about programming the Script component, see Extending the Data Flow with the Script Component.

OpzioniOptions

Inputs and outputsInputs and outputs
Selezionare un input o un output a sinistra per visualizzare le proprietà corrispondenti nella tabella a destra.Select an input or output on the left to view its properties in the table on the right. Le proprietà modificabili variano in base alla selezione effettuata.Properties available for editing vary according to the selection. Molte delle proprietà visualizzate sono di sola lettura.Many of the properties displayed are read-only. Per ulteriori informazioni sulle singole proprietà, vedere gli argomenti seguenti.For more information on the individual properties, see the following topics.

Proprietà comuniCommon Properties

Proprietà personalizzate delle trasformazioniTransformation Custom Properties

Aggiungi outputAdd Output
Consente di aggiungere un ulteriore output all'elenco.Add an additional output to the list.

Aggiungi colonnaAdd Column
Selezionare una cartella in cui posizionare la nuova colonna di output e quindi aggiungere la colonna facendo clic su Aggiungi colonna.Select a folder in which to place the new output column, and then add the column by clicking Add Column.

Rimuovi outputRemove Output
Selezionare un output e quindi rimuoverlo facendo clic su Rimuovi output.Select an output, and then remove it by clicking Remove Output.

Rimuovi colonnaRemove Column
Selezionare una colonna e quindi rimuoverla facendo clic su Rimuovi colonna.Select a column, and then remove it by clicking Remove Column.

Editor trasformazione Script (pagina Script)Script Transformation Editor (Script Page)

Usare la scheda Script della finestra di dialogo Editor trasformazione Script per specificare uno script e le proprietà correlate.Use the Script tab of the Script Transformation Editor dialog box to specify a script and related properties.

Per ulteriori informazioni sul componente Script, vedere configurazione del componente Script nell'Editor del componente di Script.To learn more about the Script component, see Configuring the Script Component in the Script Component Editor. Per informazioni sulla programmazione del componente Script, vedere Extending the Data Flow with the Script Component.To learn about programming the Script component, see Extending the Data Flow with the Script Component.

OpzioniOptions

ProprietàProperties
Consente di visualizzare e modificare le proprietà della trasformazione Script.View and modify the properties of the Script transformation. Molte delle proprietà visualizzate sono di sola lettura.Many of the properties displayed are read-only. È possibile modificare le proprietà seguenti:You can modify the following properties:

ValoreValue DescriptionDescription
DescriptionDescription Consente di descrivere gli scopi della trasformazione Script.Describe the script transformation in terms of its purpose.
LocaleIDLocaleID Consente di stabilire le impostazioni locali per specificare informazioni sul paese/regione relative all'ordinamento e alla conversione di data e ora.Specify the locale to provide region-specific information for ordering, and for date and time conversion.
NomeName Consente di digitare un nome descrittivo per il componente.Type a descriptive name for the component.
ValidateExternalMetadataValidateExternalMetadata Consente di specificare se la trasformazione Script convalida i metadati delle colonne in fase di progettazione utilizzando origini dei dati esterne.Indicate whether the Script transformation validates column metadata against external data sources at design time. Il valore false consente di ritardare la convalida fino al momento dell'esecuzione.A value of false delays validation until the time of execution.
ReadOnlyVariablesReadOnlyVariables Consente di digitare un elenco delimitato da virgole delle variabili per l'accesso di sola lettura da parte della trasformazione Script.Type a comma-separated list of variables for read-only access by the Script transformation.

Nota: per i nomi delle variabili viene fatta distinzione tra maiuscole e minuscole.Note: Variable names are case-sensitive.
ReadWriteVariablesReadWriteVariables Consente di digitare un elenco delimitato da virgole delle variabili per l'accesso di lettura/scrittura da parte della trasformazione Script.Type a comma-separated list of variables for read/write access by the Script transformation.

Nota: per i nomi delle variabili viene fatta distinzione tra maiuscole e minuscole.Note: Variable names are case-sensitive.
ScriptLanguageScriptLanguage Selezionare il linguaggio di scripting che deve essere utilizzato dal componente Script.Select the script language to be used by the Script component.

Per impostare il linguaggio di scripting predefinito per componenti Script e attività Script, usare l'opzione Linguaggio di scripting nella pagina Generale della finestra di dialogo Opzioni .To set the default script language for Script components and Script tasks, use the Scripting language option on the General page of the Options dialog box.
UserComponentTypeNameUserComponentTypeName Specifica la classe ScriptComponentHost e l'assembly Microsoft.SqlServer.TxScript che supportano l'infrastruttura SQL ServerSQL Server .Specifies the ScriptComponentHost class and the Microsoft.SqlServer.TxScript assembly that support the SQL ServerSQL Server infrastructure.

Modifica scriptEdit Script
Usare MicrosoftMicrosoft Visual StudioVisual Studio Tools for Applications (VSTA) per creare o modificare uno script.Use MicrosoftMicrosoft Visual StudioVisual Studio Tools for Applications (VSTA) to create or modify a script.

Trasformazioni di Integration ServicesIntegration Services Transformations

Estensione del flusso di dati con il componente scriptExtending the Data Flow with the Script Component