Confronto tra l'attività Script e il componente script
L'attività Script, disponibile nella finestra Flusso di controllo di Progettazione Integration Services, e il componente script, disponibile nella finestra Flusso di dati, hanno scopi diversi in un pacchetto di Integration Services. L'attività è uno strumento generico del flusso di controllo, mentre il componente funge da origine, trasformazione o destinazione nel flusso di dati. Nonostante gli scopi diversi, tuttavia, l'attività Script e il componente script presentano analogie negli strumenti di creazione di codice che utilizzano e negli oggetti del pacchetto che rendono disponibili per lo sviluppatore. Identificando le analogie e le differenze, sarà possibile utilizzare l'attività e il componente in modo più efficace.
Analogie tra l'attività Script e il componente script
L'attività Script e il componente Script condividono le caratteristiche comuni seguenti.
Caratteristica |
Descrizione |
---|---|
Due modalità della fase di progettazione |
Nell'attività e nel componente si inizia specificando proprietà nell'editor e quindi si passa all'ambiente di sviluppo per scrivere codice. |
Microsoft Visual Studio Tools for Applications (VSTA) |
L'attività e il componente utilizzano lo stesso IDE di VSTA e supportano codice scritto in Microsoft Visual Basic 2008 o Microsoft Visual C# 2008. |
Script precompilati |
In SQL Server 2008 Integration Services (SSIS) tutti gli script sono precompilati. Nelle versioni precedenti è possibile specificare se gli script sono precompilati. Lo script è precompilato in codice binario, permettendo un'esecuzione più veloce, ma a discapito dell'aumento delle dimensioni dei pacchetti. |
Differenze tra l'attività Script e il componente script
L'attività Script e il componente script presentano le seguenti differenze di rilievo.
Caratteristica |
Attività 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 è in grado di completare qualsiasi attività generica. |
È necessario specificare se si desidera creare un'origine, una trasformazione o una destinazione con il componente script. |
Esecuzione |
Un'attività Script esegue codice personalizzato in un punto del flusso di lavoro del pacchetto. Se non viene inserita in un contenitore Ciclo o in un gestore eventi, viene eseguita una sola volta. |
Anche un componente script viene eseguito una sola volta, ma in genere esegue la propria routine di elaborazione principale una volta per ogni riga di dati del flusso di dati. |
Editor |
Editor attività Script include tre pagine: Generale, Script e Espressioni. Solo le proprietà ReadOnlyVariables, ReadWriteVariables e ScriptLanguage influiscono direttamente sul codice che è possibile scrivere. |
Editor trasformazione Script può includere fino a quattro pagine: Colonne di input, Input e output, Script e Gestioni connessioni. I metadati e le proprietà che si configurano in ognuna di queste pagine determinano i membri delle classi di base generate automaticamente che è possibile utilizzare nel codice. |
Interazione con il pacchetto |
Nel codice scritto per un'attività Script si utilizza la proprietà Dts per accedere ad altre caratteristiche del pacchetto. La proprietà Dts è un membro della classe ScriptMain. |
Nel codice del componente script si utilizzano le proprietà delle funzioni di accesso tipizzate per accedere a determinate caratteristiche del pacchetto, ad esempio variabili e gestioni connessioni. Il metodo PreExecute può accedere unicamente a variabili di sola lettura. Il metodo PostExecute può accedere a variabili sia di sola lettura sia di lettura/scrittura. Per ulteriori informazioni su questi metodi, vedere Codifica e debug del componente script. |
Utilizzo di variabili |
L'attività Script utilizza la proprietà Variables dell'oggetto Dts per accedere a variabili disponibili tramite le proprietà ReadOnlyVariables e ReadWriteVariables dell'attività. Ad esempio: |
Il componente script utilizza le proprietà delle funzioni di accesso tipizzate della classe di base generata automaticamente, create dalle proprietà ReadOnlyVariables e ReadWriteVariables del componente. Ad esempio: |
Utilizzo delle connessioni |
L'attività Script utilizza la proprietà Connections dell'oggetto Dts per accedere alle gestioni connessioni definite nel pacchetto. Ad esempio: |
Il componente script utilizza le proprietà delle funzioni di accesso tipizzate della classe di base generata automaticamente, create dall'elenco di gestioni connessioni immesso dall'utente nella pagina corrispondente dell'editor. Ad esempio: |
Generazione di eventi |
L'attività Script utilizza la proprietà Events dell'oggetto Dts per generare eventi. Ad esempio: |
Il componente script genera errori, avvisi e messaggi informativi utilizzando i metodi dell'interfaccia IDTSComponentMetaData100 restituita dalla proprietà ComponentMetaData. Ad esempio: |
Registrazione |
L'attività Script utilizza il metodo Log dell'oggetto Dts per registrare informazioni nei provider di log abilitati. Ad esempio: |
Il componente script utilizza il metodo Log della classe di base generata automaticamente per registrare informazioni nei provider di log abilitati. Ad esempio: [Visual Basic] Dim bt(0) As Byte Me.Log("Test Log Event", _ 0, _ bt) |
Restituzione di risultati |
L'attività Script utilizza sia la proprietà TaskResult che la proprietà facoltativa ExecutionValue dell'oggetto Dts per notificare i risultati al runtime. |
Il componente script viene eseguito come parte dell'attività Flusso di dati e non restituisce risultati utilizzando queste proprietà. |
Debug |
L'attività Script supporta i punti di interruzione e l'esecuzione di codice istruzione per istruzione durante il debug in un ambiente di progettazione.
Nota
Quando si esegue il debug di un pacchetto che contiene più attività Script, il debugger rileva i punti di interruzione solo in un'attività Script e ignora quelli delle altre. Se un'attività Script fa parte di un contenitore Ciclo Foreach o Ciclo For, il debugger ignorerà i punti di interruzione nell'attività Script dopo la prima iterazione del ciclo.
|
Il componente non supporta il debug. Per ulteriori informazioni, vedere "Debug del componente script" in Codifica e debug del componente script. |
|
Vedere anche