Freigeben über


ScriptBuffer-Klasse

Serves as the base class for the read-only classes representing the input and the outputs that are generated by the Script component in the BufferWrapper project item in a Script component project.

Vererbungshierarchie

System. . :: . .Object
  Microsoft.SqlServer.Dts.Pipeline..::..ScriptBuffer

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

Syntax

'Declaration
Public Class ScriptBuffer
'Usage
Dim instance As ScriptBuffer
public class ScriptBuffer
public ref class ScriptBuffer
type ScriptBuffer =  class end
public class ScriptBuffer

Der ScriptBuffer-Typ macht folgende Elemente verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode ScriptBuffer Initializes a new instance of the ScriptBuffer class.

Zum Anfang

Eigenschaften

  Name Beschreibung
Geschützte Eigenschaft Item Gets or sets the value of a column in the buffer by using its index in the array of buffer column indexes.

Zum Anfang

Methoden

  Name Beschreibung
Geschützte Methode AddRow Adds an empty new row to the data flow buffer.
Geschützte Methode DirectRow Directs a row to the specified output when a component has more than one available output.
Geschützte Methode EndOfRowset Returns a value that indicates whether the end of the rows in a buffer has been reached.
Öffentliche Methode Equals (Geerbt von Object.)
Geschützte Methode Finalize (Geerbt von Object.)
Öffentliche Methode GetHashCode (Geerbt von Object.)
Öffentliche Methode GetType (Geerbt von Object.)
Geschützte Methode IsNull Returns a value that indicates whether the value of the specified column is nullNothingnullptrunitein NULL-Verweis (Nothing in Visual Basic).
Geschützte Methode MemberwiseClone (Geerbt von Object.)
Geschützte Methode NextRow Tries to move to the next available row in the buffer and returns a value that indicates whether another row was available.
Geschützte Methode SetEndOfRowset Indicates to the data flow that no more rows will be added to the output buffer.
Geschützte Methode SetNull Makes the value of the specified column nullNothingnullptrunitein NULL-Verweis (Nothing in Visual Basic).
Öffentliche Methode ToString (Geerbt von Object.)

Zum Anfang

Felder

  Name Beschreibung
Geschütztes Feld Buffer
Geschütztes Feld BufferColumnIndexes An array of column indexes.

Zum Anfang

Hinweise

The ScriptBuffer class serves as the base class for the read-only classes representing the input and the outputs that are generated by the Script component in the BufferWrapper project item in a Script component project. The classes in the BufferWrapper project item provide the developer with a set of methods for working with the data flow buffers, as well as typed accessor properties for each column in the buffers.

The Script component developer does not use the ScriptBuffer class directly, but indirectly, through the derived classes in the BufferWrapper project item that represent the component's input and outputs.

For more information, see Codieren und Debuggen der Skriptkomponente and Grundlegendes zum Skript-Komponentenobjektmodell.

Beispiele

The following code sample from Erstellen einer asynchronen Transformation mit der Skriptkomponente demonstrates several methods and properties of the ScriptBuffer class, including AddRow, NextRow, EndOfRowset, and SetEndOfRowset.

Public Class ScriptMain
    Inherits UserComponent

    Private myRedmondAddressCount As Integer

    Public Overrides Sub CreateNewOutputRows()

        MySummaryOutputBuffer.AddRow()

    End Sub

    Public Overrides Sub MyAddressInput_ProcessInput(ByVal Buffer As MyAddressInputBuffer)

        While Buffer.NextRow()
            MyAddressInput_ProcessInputRow(Buffer)
        End While

        If Buffer.EndOfRowset Then
            MyAddressOutputBuffer.SetEndOfRowset()
            MySummaryOutputBuffer.MyRedmondCount = myRedmondAddressCount
            MySummaryOutputBuffer.SetEndOfRowset()
        End If

    End Sub

    Public Overrides Sub MyAddressInput_ProcessInputRow(ByVal Row As MyAddressInputBuffer)

        With MyAddressOutputBuffer
            .AddRow()
            .AddressID = Row.AddressID
            .City = Row.City
        End With

        If Row.City.ToUpper = "REDMOND" Then
            myRedmondAddressCount += 1
        End If

    End Sub

End Class

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Elemente dieses Typs sind Threadsicher. Für Instanzelemente wird die Threadsicherheit nicht gewährleistet.