PipelineBuffer.GetBlobData Method
PipelineBuffer 列に格納されているバイナリ ラージ オブジェクト (BLOB) からバイトの配列を取得します。
名前空間: Microsoft.SqlServer.Dts.Pipeline
アセンブリ: Microsoft.SqlServer.PipelineHost (microsoft.sqlserver.pipelinehost.dll 内)
構文
'宣言
Public Function GetBlobData ( _
columnIndex As Integer, _
offset As Integer, _
count As Integer _
) As Byte()
public byte[] GetBlobData (
int columnIndex,
int offset,
int count
)
public:
array<unsigned char>^ GetBlobData (
int columnIndex,
int offset,
int count
)
public byte[] GetBlobData (
int columnIndex,
int offset,
int count
)
public function GetBlobData (
columnIndex : int,
offset : int,
count : int
) : byte[]
パラメータ
- columnIndex
BLOB を含む列のインデックスです。
- offset
BLOB からのバイトの取得を開始する大きなバイナリ内のポイントです。
- count
BLOB から取得するバイト数です。
戻り値
PipelineBuffer 列のバイトの配列です。
解説
DT_IMAGE などの BLOB を含む PipelineBuffer 列からデータを取得する場合、BLOB 内での開始場所を offset パラメータで指定し、取得するバイト数を count パラメータで指定します。
使用例
次の例では、PipelineBuffer 列からバイトの配列全体を取得します。
public override void ProcessInput(int inputID, PipelineBuffer buffer)
{
IDTSInput90 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
foreach (IDTSInputColumn90 col in input.InputColumnCollection)
{
int index = BufferManager.FindColumnByLineageID(input.Buffer, col.LineageID);
BufferColumn bc = buffer.GetColumnInfo(index);
if (bc.DataType == DataType.DT_IMAGE)
{
uint blobLength = buffer.GetBlobLength(index);
byte [] blobBytes = buffer.GetBlobData(index, 0, (int)blobLength);
//TODO: Do something with the blob data.
}
}
}
Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)
Dim input As IDTSInput90 = ComponentMetaData.InputCollection.GetObjectByID(inputID)
For Each col As IDTSInputColumn90 In input.InputColumnCollection
Dim index As Integer = BufferManager.FindColumnByLineageID(input.Buffer, col.LineageID)
Dim bc As BufferColumn = buffer.GetColumnInfo(index)
If bc.DataType = DataType.DT_IMAGE Then
Dim blobLength As System.UInt32 = buffer.GetBlobLength(index)
Dim blobBytes As Byte() = buffer.GetBlobData(index, 0, CType(blobLength, Integer))
'TODO: Do something with the blob data
End If
Next
End Sub
スレッド セーフ
この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
参照
関連項目
PipelineBuffer Class
PipelineBuffer Members
Microsoft.SqlServer.Dts.Pipeline Namespace