次の方法で共有


ScriptBuffer クラス

スクリプト コンポーネント プロジェクトの BufferWrapper プロジェクト アイテム内で、スクリプト コンポーネントによって生成される入力および出力を表す読み取り専用クラスの基本クラスとして機能します。

継承階層

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

名前空間:  Microsoft.SqlServer.Dts.Pipeline
アセンブリ:  Microsoft.SqlServer.TxScript (Microsoft.SqlServer.TxScript.dll)

構文

'宣言
Public Class ScriptBuffer
'使用
Dim instance As ScriptBuffer
public class ScriptBuffer
public ref class ScriptBuffer
type ScriptBuffer =  class end
public class ScriptBuffer

ScriptBuffer 型は、以下のメンバーを公開しています。

コンストラクター

  名前 説明
パブリック メソッド ScriptBuffer ScriptBuffer クラスの新しいインスタンスを初期化します。

先頭に戻る

プロパティ

  名前 説明
プロテクト プロパティ Item バッファ列インデックスの配列のインデックスを使用して、バッファ内の列の値を取得します。値の設定も可能です。

先頭に戻る

メソッド

  名前 説明
プロテクト メソッド AddRow データ フロー バッファに空の新しい行を追加します。
プロテクト メソッド DirectRow コンポーネントに複数の使用可能な出力がある場合に、指定した出力に行を送信します。
プロテクト メソッド EndOfRowset バッファの行の末尾に達したかどうかを示す値を返します。
パブリック メソッド Equals (Object から継承されています。)
プロテクト メソッド Finalize (Object から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
プロテクト メソッド IsNull 指定した列の値が nullNothingnullptrunitNULL 参照 (Visual Basic では Nothing) かどうかを示す値を返します。
プロテクト メソッド MemberwiseClone (Object から継承されています。)
プロテクト メソッド NextRow バッファ内の次の使用可能な行への移動を試みて、別の行が使用可能であったかどうかを示す値を返します。
プロテクト メソッド SetEndOfRowset 出力バッファにこれ以上の行が追加されないことをデータ フローに示します。
プロテクト メソッド SetNull 指定した列の値を nullNothingnullptrunitNULL 参照 (Visual Basic では Nothing) にします。
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

フィールド

  名前 説明
プロテクト フィールド Buffer
プロテクト フィールド BufferColumnIndexes 列インデックスの配列。

先頭に戻る

説明

ScriptBuffer クラスは、スクリプト コンポーネント プロジェクトの BufferWrapper プロジェクト アイテム内で、スクリプト コンポーネントによって生成される入力および出力を表す読み取り専用クラスの基本クラスとして機能します。BufferWrapper プロジェクト アイテムのクラスは、データ フロー バッファを使用するための一連のメソッド、およびバッファ内の各列に対して型指定されたアクセサ プロパティを開発者に提供します。

スクリプト コンポーネントの開発者は、直接的には ScriptBuffer クラスを使用しませんが、コンポーネントの入力および出力を表す BufferWrapper プロジェクト アイテムの派生クラスを通じて、間接的に使用します。

詳細については、「スクリプト コンポーネントのコーディングおよびデバッグ」および「スクリプト コンポーネントのオブジェクト モデルについて」を参照してください。

使用例

次の「スクリプト コンポーネントによる非同期変換の作成」からのコード サンプルでは、AddRowNextRowEndOfRowset、および SetEndOfRowset を含む ScriptBuffer クラスのいくつかのメソッドおよびプロパティを示します。

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

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。