PipelineBuffer.GetBlobData(Int32, Int32, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Recupera una matrice di byte da un BLOB (Binary Large Object) archiviato in una colonna PipelineBuffer.
public:
cli::array <System::Byte> ^ GetBlobData(int columnIndex, int offset, int count);
public byte[] GetBlobData (int columnIndex, int offset, int count);
member this.GetBlobData : int * int * int -> byte[]
Public Function GetBlobData (columnIndex As Integer, offset As Integer, count As Integer) As Byte()
Parametri
- columnIndex
- Int32
Indice della colonna che contiene il BLOB.
- offset
- Int32
Punto da cui iniziare a recuperare i byte nel BLOB.
- count
- Int32
Numero di byte da recuperare dal BLOB.
Restituisce
Matrice di byte nella colonna PipelineBuffer.
Esempio
Nell'esempio seguente viene recuperata l'intera matrice di byte da una PipelineBuffer colonna.
public override void ProcessInput(int inputID, PipelineBuffer buffer)
{
IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
foreach (IDTSInputColumn100 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 IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID)
For Each col As IDTSInputColumn100 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
Commenti
Questo metodo funziona con i tipi di dati di Integration Services seguenti:
Quando si recuperano dati da PipelineBuffer colonne contenenti un BLOB, ad esempio , DT_IMAGEsi specifica il percorso iniziale nel BLOB con il offset
parametro e il numero di byte da recuperare nel count
parametro.
Per un elenco completo dei tipi di dati di Integration Services e dei metodi e Set
corrispondenti Get
della classe da usare con ogni tipo, vedere Uso dei tipi di dati nell'Flusso di datiPipelineBuffer.