PipelineBuffer.GetBlobData(Int32, Int32, Int32) Método

Definición

Recupera una matriz de bytes de un objeto binario grande (BLOB) almacenado en una columna de 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()

Parámetros

columnIndex
Int32

El índice de la columna que contiene el BLOB.

offset
Int32

El punto del BLOB en el que se va a empezar a recuperar bytes del BLOB.

count
Int32

El número de bytes que se va a recuperar del BLOB.

Devoluciones

Byte[]

La matriz de bytes de la columna de PipelineBuffer.

Ejemplos

En el ejemplo siguiente se recupera toda la matriz de bytes de una PipelineBuffer columna.

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  

Comentarios

Este método funciona con los siguientes tipos de datos de Integration Services:

Al recuperar datos de PipelineBuffer columnas que contienen un BLOB, como DT_IMAGE, se especifica la ubicación inicial en el BLOB con el offset parámetro y el número de bytes que se van a recuperar en el count parámetro .

Para obtener una lista completa de los tipos de datos de Integration Services y los métodos y Set correspondientes Get de la PipelineBuffer clase que se van a usar con cada tipo, vea Trabajar con tipos de datos en la Data Flow.

Se aplica a