Sdílet prostřednictvím


ScriptComponent.PrimeOutput Method

Prepares the outputs in Script components, such as sources and transformations with asynchronous outputs, that add new rows to the output buffers.

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

Syntax

'Declaration
Public Overridable Sub PrimeOutput ( _
    Outputs As Integer, _
    OutputIDs As Integer(), _
    Buffers As PipelineBuffer() _
)
'Usage
Dim instance As ScriptComponent
Dim Outputs As Integer
Dim OutputIDs As Integer()
Dim Buffers As PipelineBuffer()

instance.PrimeOutput(Outputs, OutputIDs, _
    Buffers)
public virtual void PrimeOutput(
    int Outputs,
    int[] OutputIDs,
    PipelineBuffer[] Buffers
)
public:
virtual void PrimeOutput(
    int Outputs, 
    array<int>^ OutputIDs, 
    array<PipelineBuffer^>^ Buffers
)
abstract PrimeOutput : 
        Outputs:int * 
        OutputIDs:int[] * 
        Buffers:PipelineBuffer[] -> unit 
override PrimeOutput : 
        Outputs:int * 
        OutputIDs:int[] * 
        Buffers:PipelineBuffer[] -> unit 
public function PrimeOutput(
    Outputs : int, 
    OutputIDs : int[], 
    Buffers : PipelineBuffer[]
)

Parameters

  • Outputs
    Type: System.Int32
    The count of the outputs of the components.
  • OutputIDs
    Type: array<System.Int32[]
    An array of type Integer that contains the IDs of the outputs of the components.

Remarks

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.

Although the developer can override the PrimeOutput method, it is usually sufficient to override the CreateNewOutputRows method in the ScriptMain class to load data into the output buffers.

Examples

The following code sample from the autogenerated ComponentWrapper project item shows how the Script component uses the PrimeOutput method in a component with two outputs.

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = 29 Then
                Output0Buffer = New Output0Buffer(Buffers(I), GetColumnIndexes(OutputIDs(I)))
            End If
            If OutputIDs(I) = 126 Then
                Output1Buffer = New Output1Buffer(Buffers(I), GetColumnIndexes(OutputIDs(I)))
            End If
        Next

        CreateNewOutputRows()

    End Sub