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 型は、以下のメンバーを公開しています。
メソッド
名前 | 説明 | |
---|---|---|
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 から継承されています。) |
先頭に戻る
説明
ScriptBuffer クラスは、スクリプト コンポーネント プロジェクトの BufferWrapper プロジェクト アイテム内で、スクリプト コンポーネントによって生成される入力および出力を表す読み取り専用クラスの基本クラスとして機能します。BufferWrapper プロジェクト アイテムのクラスは、データ フロー バッファを使用するための一連のメソッド、およびバッファ内の各列に対して型指定されたアクセサ プロパティを開発者に提供します。
スクリプト コンポーネントの開発者は、直接的には ScriptBuffer クラスを使用しませんが、コンポーネントの入力および出力を表す BufferWrapper プロジェクト アイテムの派生クラスを通じて、間接的に使用します。
詳細については、「スクリプト コンポーネントのコーディングおよびデバッグ」および「スクリプト コンポーネントのオブジェクト モデルについて」を参照してください。
使用例
次の「スクリプト コンポーネントによる非同期変換の作成」からのコード サンプルでは、AddRow、NextRow、EndOfRowset、および 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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。