PipelineBuffer.GetBlobData(Int32, Int32, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.