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

Définition

Récupère un tableau d'octets d'un objet BLOB (Binary Large Object) stocké dans une colonne 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()

Paramètres

columnIndex
Int32

Index de la colonne contenant l'objet BLOB (Binary Large Object).

offset
Int32

Point dans l'objet BLOB à partir duquel commencer la récupération des octets de l'objet BLOB.

count
Int32

Nombre d'octets à récupérer de l'objet BLOB.

Retours

Byte[]

Tableau d'octets dans la colonne PipelineBuffer.

Exemples

L’exemple suivant récupère l’ensemble du tableau d’octets d’une PipelineBuffer colonne.

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  

Remarques

Cette méthode fonctionne avec les types de données Integration Services suivants :

Lors de la récupération de données à partir de PipelineBuffer colonnes contenant un OBJET BLOB, tel qu’un DT_IMAGE, vous spécifiez l’emplacement de départ dans le BLOB avec le offset paramètre et le nombre d’octets à récupérer dans le count paramètre.

Pour obtenir la liste complète des types de données Integration Services et des méthodes correspondantes Get de Set la PipelineBuffer classe à utiliser avec chaque type, consultez Utilisation des types de données dans le Data Flow.

S’applique à