Condividi tramite


Metodo PrimeOutput

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

Spazio dei nomi  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.TxScript (in Microsoft.SqlServer.TxScript.dll)

Sintassi

'Dichiarazione
Public Overridable Sub PrimeOutput ( _
    Outputs As Integer, _
    OutputIDs As Integer(), _
    Buffers As PipelineBuffer() _
)
'Utilizzo
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[]
)

Parametri

  • OutputIDs
    Tipo: array<System. . :: . .Int32> [] () [] []
    An array of type Integer that contains the IDs of the outputs of the components.

Osservazioni

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.

Esempi

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