Tuesday, January 21, 2014

SCRIPT TASK VS SCRIPT COMPONENT


SCRIPT TASK
SCRIPT COMPONENT
Control Flow/Date Flow
The Script task is configured on the Control Flow tab of the designer and runs outside the data flow of the package.
The Script component is configured on the Data Flow page of the designer and represents a source, transformation, or destination in the Data Flow task.
Purpose
A Script task can accomplish almost any general-purpose task.
You must specify whether you want to create a source, transformation, or destination with the Script component.
Raising Results
The Script task uses both the TaskResult property and the optional ExecutionValue property of the Dts object to notify the runtime of its results.
The Script component runs as a part of the Data Flow task and does not report results using either of these properties.
Raising Events
The Script task uses the Events property of the Dts object to raise events. For example: Dts.Events.FireError(0, "Event Snippet", ex.Message & ControlChars.CrLf & ex.StackTrace
The Script component raises errors, warnings, and informational messages by using the methods of the IDTSComponentMetaData100 interface returned by the ComponentMetaData property. For example:                       Dim myMetadata as IDTSComponentMetaData100
myMetaData = Me.ComponentMetaData
myMetaData.FireError(...)
Execution
A Script task runs custom code at some point in the package workflow. Unless you put it in a loop container or an event handler, it only runs once.
A Script component also runs once, but typically it runs its main processing routine once for each row of data in the data flow.
Editor
The Script Task Editor has three pages: General, Script, and Expressions. Only the ReadOnlyVariables and ReadWriteVariables, and ScriptLanguage properties directly affect the code that you can write.
The Script Transformation Editor has up to four pages: Input Columns, Inputs and Outputs, Script, and Connection Managers. The metadata and properties that you configure on each of these pages determines the members of the base classes that are autogenerated for your use in coding.
Interaction with the Package
In the code written for a Script task, you use the Dts property to access other features of the package. The Dts property is a member of the ScriptMain class.
In Script component code, you use typed accessor properties to access certain package features such as variables and connection managers. The PreExecute method can access only read-only variables. The PostExecute method can access both read-only and read/write variables.
Using Variables
The Script task uses the Variables property of the Dts object to access variables that are available through the task’s ReadOnlyVariables and ReadWriteVariables properties. For example: string myVar;                                             myVar = Dts.Variables["MyStringVariable"].Value.ToString();
The Script component uses typed accessor properties of the autogenerated based class, created from the component’s ReadOnlyVariables and ReadWriteVariables properties. For example:                                        string myVar; myVar = this.Variables.MyStringVariable;
Using Connections
The Script task uses the Connections property of the Dts object to access connection managers defined in the package. For example:                       string myFlatFileConnection;            myFlatFileConnection = (Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String);
The Script component uses typed accessor properties of the autogenerated base class, created from the list of connection managers entered by the user on the Connection Managers page of the editor. For example:        IDTSConnectionManager100 connMgr;connMgr = this.Connections.MyADONETConnection;

LABEL: SSIS INTERVIEW QUESTIONS
 

No comments:

Post a Comment