Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'attività Script, disponibile nella finestra Flusso di controllo della finestra di progettazione di Integration Services e il componente Script, disponibile nella finestra Flusso di dati, hanno scopi molto diversi in un pacchetto di Integration Services. L'attività è uno strumento di flusso di controllo generico, mentre il componente funge da origine, trasformazione o destinazione nel flusso di dati. Nonostante i diversi scopi, tuttavia, l'attività Script e il componente Script presentano alcune analogie negli strumenti di codifica usati e negli oggetti nel pacchetto che rendono disponibili per lo sviluppatore. Comprendere le analogie e le differenze può essere utile per usare sia l'attività che il componente in modo più efficace.
Analogie tra l'attività Script e il componente script
L'attività Script e il componente Script condividono le funzionalità comuni seguenti.
| Caratteristica / Funzionalità | Descrizione |
|---|---|
| Due modalità di progettazione | Sia nell'attività che nel componente, si inizia specificando le proprietà nell'editor e quindi si passa all'ambiente di sviluppo per scrivere codice. |
| Microsoft Visual Studio Tools for Applications (VSTA) | Sia l'attività che il componente usano lo stesso IDE VSTA e supportano il codice scritto in Microsoft Visual Basic o Microsoft Visual C#. |
| Script precompilati | A partire da SQL Server 2008 Integration Services (SSIS), tutti gli script sono precompilati. Nelle versioni precedenti è possibile specificare se gli script sono stati precompilati. Lo script viene precompilato nel codice binario, consentendo un'esecuzione più rapida, ma a costi di dimensioni maggiori del pacchetto. |
| Risoluzione dei problemi | Sia l'attività che il componente supportano i punti di interruzione e l'esecuzione di istruzioni nel codice durante il debug nell'ambiente di progettazione. Per altre informazioni, vedere Codifica e debug dell'attività Script e [Codifica e debug del componente script](.. /extending-packages-scripting/data-flow-script-component/coding-and-debugging-the-script-component.md. |
Differenze tra l'attività Script e il componente script
L'attività Script e il componente Script presentano le differenze importanti seguenti.
| Caratteristica / Funzionalità | Compito Script | Componente script |
|---|---|---|
| Flusso di controllo/Flusso di dati | L'attività Script viene configurata nella scheda Flusso di controllo della finestra di progettazione e viene eseguita all'esterno del flusso di dati del pacchetto. | Il componente Script viene configurato nella pagina Flusso di dati della finestra di progettazione e rappresenta un'origine, una trasformazione o una destinazione nell'attività Flusso di dati. |
| Scopo | Un'attività Script può eseguire quasi tutte le attività per utilizzo generico. | È necessario specificare se si vuole creare un'origine, una trasformazione o una destinazione con il componente Script. |
| Esecuzione | Un'attività Script esegue codice personalizzato a un certo punto nel flusso di lavoro del pacchetto. A meno che non venga inserito in un contenitore di cicli o in un gestore eventi, viene eseguito una sola volta. | Un componente script viene eseguito anche una sola volta, ma in genere esegue la routine di elaborazione principale una volta per ogni riga di dati nel flusso di dati. |
| Redattore |
L'Editor attività Script include tre pagine: Generale, Script ed Espressioni. Solo le ReadOnlyVariables proprietà e ReadWriteVariablese ScriptLanguage influiscono direttamente sul codice che è possibile scrivere. |
L'Editor trasformazione Script include fino a quattro pagine: colonne di input, input e output, script e gestioni connessioni. I metadati e le proprietà configurati in ognuna di queste pagine determinano i membri delle classi di base generate automaticamente per l'uso nella codifica. |
| Interazione con il pacchetto | Nel codice scritto per un'attività Script si usa la Dts proprietà per accedere ad altre funzionalità del pacchetto. La Dts proprietà è un membro della ScriptMain classe . |
Nel codice del componente script si usano le proprietà della funzione di accesso tipizzate per accedere a determinate funzionalità del pacchetto, ad esempio variabili e gestioni connessioni. Il PreExecute metodo può accedere solo alle variabili di sola lettura. Il PostExecute metodo può accedere alle variabili di sola lettura e di lettura/scrittura.Per altre informazioni su questi metodi, vedere [Codifica e debug del componente script](.. /extending-packages-scripting/data-flow-script-component/coding-and-debugging-the-script-component.md. |
| Uso delle variabili | L'attività Script usa la Variables proprietà dell'oggetto Dts per accedere alle variabili disponibili tramite le proprietà e ReadWriteVariables dell'attivitàReadOnlyVariables. Per esempio:[VB] Dim myVar as String myVar = Dts.Variables("MyStringVariable").Value.ToString[C#] string myVar; myVar = Dts.Variables["MyStringVariable"].Value.ToString(); |
Il componente Script usa proprietà della funzione di accesso tipizzate della classe basata su generata automaticamente, create dalle proprietà e ReadWriteVariables del ReadOnlyVariables componente. Per esempio: [VB] Dim myVar as String myVar = Me.Variables.MyStringVariable[C#] string myVar; myVar = this.Variables.MyStringVariable; |
| Uso delle connessioni | L'attività Script usa la Connections proprietà dell'oggetto Dts per accedere alle gestioni connessioni definite nel pacchetto. Per esempio:[VB] Dim myFlatFileConnection As String myFlatFileConnection = _ DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _ String)[C#] string myFlatFileConnection; myFlatFileConnection = (Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String); |
Il componente Script usa proprietà della funzione di accesso tipizzate della classe base generata automaticamente, create dall'elenco delle gestioni connessioni immesse dall'utente nella pagina Gestioni connessioni dell'editor. Per esempio: [VB] Dim connMgr As IDTSConnectionManager100 connMgr = Me.Connections.MyADONETConnection[C#] IDTSConnectionManager100 connMgr; connMgr = this.Connections.MyADONETConnection; |
| Attivazione di eventi | L'attività Script usa la Events proprietà dell'oggetto Dts per generare eventi. Per esempio:[VB] Dts.Events.FireError(0, "Event Snippet", _ ex.Message & ControlChars.CrLf & ex.StackTrace, _ "", 0)[C#] Dts.Events.FireError(0, "Event Snippet", ex.Message + "\r" + ex.StackTrace, "", 0); |
Il componente Script genera errori, avvisi e messaggi informativi usando i metodi dell'interfaccia IDTSComponentMetaData100 restituita dalla ComponentMetaData proprietà . Per esempio: [VB] Dim myMetadata as IDTSComponentMetaData100 myMetaData = Me.ComponentMetaData myMetaData.FireError(...) |
| Registrazione | L'attività Script usa il Log metodo dell'oggetto Dts per registrare le informazioni per abilitare i provider di log. Per esempio:[VB] Dim bt(0) As Byte Dts.Log("Test Log Event", _ 0, _ bt)[C#] byte[] bt = new byte[0]; Dts.Log("Test Log Event", 0, bt); |
Il componente Script usa il Log metodo della classe di base generata automaticamente per registrare le informazioni nei provider di log abilitati. Per esempio: [VB] Dim bt(0) As ByteMe.Log("Test Log Event", _0, _bt)[C#] byte[] bt = new byte[0]; this.Log("Test Log Event", 0, bt); |
| Restituzione dei risultati | L'attività Script usa sia la TaskResult proprietà che la proprietà facoltativa ExecutionValue dell'oggetto Dts per notificare al runtime i risultati. |
Il componente Script viene eseguito come parte dell'attività Flusso di dati e non segnala i risultati usando una di queste proprietà. |
Vedere anche
Estensione del pacchetto con l'attività Script
Estensione del flusso di dati con il componente script
Uso di un'attività Script in SQL Server Integration Services SSIS per connettersi a un servizio Web