This topic has not yet been rated - Rate this topic

ScriptComponent Class

Serves as the base class for the read-only UserComponent class generated by the Script component in the ComponentWrapper project item in a Script component project.

System.Object
  Microsoft.SqlServer.Dts.Pipeline.ScriptComponent

Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.TxScript (in Microsoft.SqlServer.TxScript.dll)
public class ScriptComponent

The ScriptComponent type exposes the following members.

  Name Description
Public method ScriptComponent Initializes a new instance of the ScriptComponent class.
Top
  Name Description
Public property ComponentMetaData Returns a reference to the component definition.
Public property Static member EvaluatorContext Gets the script component evaluator context.
Public property InputIDToNameMap Gets the input identifier to name map.
Public property OutputNameMap Gets the output name map.
Public property ReadOnlyVariables Returns the collection of ReadOnlyVariables available to the component.
Public property ReadWriteVariables Returns the collection of ReadWriteVariables available to the component.
Public property VariableDispenser Returns an object that the data flow uses internally to work with variables.
Top
  Name Description
Public method AcquireConnections Obtains a connection or connection information by using a connection manager.
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetColumnIndexes Infrastructure. Gets the collection of column index for the script component.
Public method GetHashCode (Inherited from Object.)
Public method Static member GetOutputID Returns the output ID that has a specified output name.
Public method GetType (Inherited from Object.)
Public method Log Writes a log entry.
Protected method MemberwiseClone (Inherited from Object.)
Public method PostExecute Executes custom code that must run after the Script component has processed its inputs and outputs.
Public method PreExecute Executes custom code that must run before the Script component has processed its inputs and outputs.
Public method PrimeOutput Prepares the outputs in Script components, such as sources and transformations with asynchronous outputs, that add new rows to the output buffers.
Public method ProcessInput(Int32, PipelineBuffer) Processes the inputs in Script components, such as transformations and destinations, that receive inputs from upstream components.
Public method ProcessInput(Int32, String, PipelineBuffer, OutputNameMap) Processes inputs in the script components.
Public method ReleaseConnections Releases a connection to a connection manager.
Public method SetBufferColumnIndexes Infrastructure. Sets the index of the buffer columns.
Public method ToString (Inherited from Object.)
Top

The ScriptComponent class serves as the base class for the read-only UserComponent class, which is generated by the Script component in the ComponentWrapper project item in a Script component project. The UserComponent class serves as the base class for the ScriptMain class, in which the developer writes custom code, and provides the developer with a set of methods for working with the component's inputs and outputs. It also provides strongly-typed accessor properties for variables and connection managers available to the component.

The Script component developer does not use the ScriptComponent class directly, but indirectly, by coding the methods and properties of the ScriptMain class, which inherits from ScriptComponent through the UserComponent class.

For more information, see Coding and Debugging the Script Component and Understanding the Script Component Object Model.

The following code sample demonstrates all the code that a developer has to write to create a transformation with synchronous outputs by using the Script component. For more information on this sample, see Creating a Synchronous Transformation with the Script Component.

Public Class ScriptMain
    Inherits UserComponent

    Public Overrides Sub MyAddressInput_ProcessInputRow(ByVal Row As MyAddressInputBuffer)

        Row.City = UCase(Row.City)

    End Sub

End Class
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)