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. ![]()
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