Aracılığıyla paylaş


PipelineBuffer Sınıfı

Satırlar ve sütunlar veri içeren bir bellek içi veri deposu sağlar.

Devralma Hiyerarşisi

System.Object
  Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer

Ad Alanı:  Microsoft.SqlServer.Dts.Pipeline
Derleme:  Microsoft.SqlServer.PipelineHost (Microsoft.SqlServer.PipelineHost içinde.dll)

Sözdizimi

'Bildirim
Public Class PipelineBuffer _
    Implements IDisposable
'Kullanım
Dim instance As PipelineBuffer
public class PipelineBuffer : IDisposable
public ref class PipelineBuffer : IDisposable
type PipelineBuffer =  
    class
        interface IDisposable
    end
public class PipelineBuffer implements IDisposable

PipelineBuffer türü aşağıdaki üyeleri açıklar.

Oluşturucular

  Ad Açıklama
Korumalı yöntem PipelineBuffer Yeni bir örneğini başlatır örnek , PipelineBuffer.

Üst

Özellikler

  Ad Açıklama
Ortak özellik ColumnCount Sütun sayısını alır PipelineBuffer.
Ortak özellik CurrentRow Geçerli satırın dizinini alır PipelineBuffer.
Ortak özellik EndOfRowset Belirten bir değeri alır mı geçerli PipelineBuffer ' dir. son arabellek
Ortak özellik Item Arabellekte saklanan veriyi alır sütun.
Ortak özellik Mode Belirten bir değeri alır olup bir PipelineBuffer olan bir IDTSInput100 arabellek veya bir IDTSOutput100 arabellek.
Ortak özellik RowCount Satır sayısını alır PipelineBuffer nesne.

Üst

Yöntemler

  Ad Açıklama
Ortak yöntem AddBlobData(Int32, array<Byte[]) Bir bayt dizisi ekler bir PipelineBuffer sütun.
Ortak yöntem AddBlobData(Int32, array<Byte[], Int32) Belirtilen sayıda bayt dizisi ekler bir PipelineBuffer sütun.
Ortak yöntem AddRow Bir satır ekler PipelineBuffer nesne.
Ortak yöntem DirectErrorRow(Int32, Int32, Int32) Gönderen bir PipelineBuffer satır için bir IDTSOutput100 , IsErrorOut özellik doğru.
Ortak yöntem DirectErrorRow(Int32, Int32, Int32, Int32) Gönderen bir PipelineBuffer satır için bir IDTSOutput100 , IsErrorOut özellik doğru.
Ortak yöntem DirectRow Bir satırdan gönderen bir PipelineBuffer belirtilen IDTSOutput100.
Ortak yöntem Dispose() Tarafından kullanılan tüm kaynakları serbest bırakır PipelineBuffer.
Korumalı yöntem Dispose(Boolean) Tarafından kullanılan yönetilmeyen kaynakları serbest PipelineBuffer, isteğe bağlı olarak yönetilen kaynaklar. serbest
Ortak yöntem Equals (Object öğesinden devralınmıştır.)
Korumalı yöntem Finalize Tarafından kullanılan tüm kaynakları serbest bırakır PipelineBuffer. (Object.Finalize() öğesini geçersiz kılar.)
Ortak yöntem GetBlobData Depolanan bir ikili büyük nesne (blob) bir bayt dizisi alır bir PipelineBuffer sütun.
Ortak yöntem GetBlobLength ikili büyük nesne (blob) içinde yer alan bayt sayısını alır PipelineBuffer sütun.
Ortak yöntem GetBoolean Alır bool depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetByte Alır bayt depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetBytes Bir arabellek depolanan bir bayt dizisi alır sütun.
Ortak yöntem GetColumnInfo Alır BufferColumn için yapısal bir PipelineBuffer sütun.
Ortak yöntem GetDate Alır DateTime depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetDateTime Alır DateTime depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetDateTimeOffset Alır DateTimeOffset depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetDecimal Alır Ondalık depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetDouble Alır çift saklanan PipelineBuffer sütun.
Ortak yöntem GetGuid Alır GUID depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetHashCode (Object öğesinden devralınmıştır.)
Ortak yöntem GetInt16 Alır kısa saklanan PipelineBuffer sütun.
Ortak yöntem GetInt32 Alır int depolanan bir PipelineBuffer sütun.
Ortak yöntem GetInt64 Alır uzun saklanan PipelineBuffer sütun.
Ortak yöntem GetSByte Alır SByte saklanan değer bir PipelineBuffer sütun.
Ortak yöntem GetSingle Depolanan float alır bir PipelineBuffer sütun.
Ortak yöntem GetString Alır dize arabellekte saklanan sütun.
Ortak yöntem GetTime Alır TimeSpan depolanan değeri PipelineBuffer sütun.
Ortak yöntem GetType (Object öğesinden devralınmıştır.)
Ortak yöntem GetUInt16 Alır ushort arabellekte saklanan değeri sütun.
Ortak yöntem GetUInt32 Alır Uınt32 arabellekte saklanan değeri sütun.
Ortak yöntem GetUInt64 Alır ulong arabellekte saklanan değeri sütun.
Ortak yöntem IsNull Veri arabelleği sütun null olup olmadığını denetler.
Korumalı yöntem MemberwiseClone (Object öğesinden devralınmıştır.)
Ortak yöntem NextRow İlerletir PipelineBuffer sonraki satır.
Ortak yöntem RemoveRow Geçerli satırdan kaldırır PipelineBuffer.
Ortak yöntem ResetBlobData Belirtilen DAMLA içeriğini siler sütun.
Ortak yöntem SetBoolean Atar bir bool değeri bir PipelineBuffer sütun.
Ortak yöntem SetByte Atar bir bayt için bir PipelineBuffer sütun.
Ortak yöntem SetBytes Bir bayt dizisi bir arabellek sütun atar.
Ortak yöntem SetDate Atar bir DateTime değeri PipelineBuffer sütun.
Ortak yöntem SetDateTime Atar bir DateTime değeri PipelineBuffer sütun.
Ortak yöntem SetDateTimeOffset Atar bir DateTimeOffset değeri PipelineBuffer sütun.
Ortak yöntem SetDecimal Atar bir Ondalık bir arabellek sütun için.
Ortak yöntem SetDouble Atar bir çift için bir PipelineBuffer sütun.
Ortak yöntem SetEndOfRowset Bildirir PipelineBuffer , bir bileşen için satır ekleme bitirdiarabellek.
Ortak yöntem SetErrorInfo Geçerli hata bilgilerini ayarlar PipelineBuffer satır.
Ortak yöntem SetGuid Atar bir GUID bir arabellek sütun için.
Ortak yöntem SetInt16 16 Bitlik imzalı tamsayı bir arabellek sütun atar.
Ortak yöntem SetInt32 32 Bitlik imzalı tamsayı bir arabellek sütun atar.
Ortak yöntem SetInt64 64 Bitlik imzalı tamsayı bir arabellek sütun atar.
Ortak yöntem SetNull Atar nullnull başvuru (Visual Basic'te Nothing) bir arabellek sütun için.
Ortak yöntem SetSByte İmzalı bir 8-bit tamsayı bir arabellek sütun atar.
Ortak yöntem SetSingle Bir kayan nokta arabellek sütun atar.
Ortak yöntem SetString Bir dize, bir arabellek sütun atar.
Ortak yöntem SetTime Atar bir TimeSpan değeri PipelineBuffer sütun.
Ortak yöntem SetUInt16 16 Bitlik imzalanmamış tamsayı bir arabellek sütun atar.
Ortak yöntem SetUInt32 32 Bitlik imzalanmamış tamsayı bir arabellek sütun atar.
Ortak yöntem SetUInt64 64 Bitlik imzalanmamış tamsayı bir arabellek sütun atar.
Ortak yöntem ToString (Object öğesinden devralınmıştır.)

Üst

Açıklamalar

PipelineBuffer Olan bir bellek içi iki boyutlu veri depolamak içeren satırlar ve sütunlar.veri akışı görevi tarafından oluşturulan ve yönetilen veri akışı bileşenleri için yürütme sırasında sağlanan.Sütunları arabellekte bulunan sütunlara bağlı olarak IDTSOutputColumnCollection100 koleksiyonları bileşen grafik.

Kaynak bileşenleri ve zaman uyumsuz çıkışlarına bileşenlerle bir aşağı akım bileşeni için bağlı çıktı nesnelerin her biri için bir tampon alırsınız.Bu arabellekleri çıktı arabelleği adlandırılan ve satırlar içerir.Arabellek ve aramalar alır çıkış arabelleği bileşen satır ekler SetEndOfRowset bittiğinde yöntem.Bu yöntemin değerini ayarlar EndOfRowset özellik için doğru son arabellek üzerinde.veri akışı görevi sonra bu grafikte sonraki bileşen arabelleğe sağlar.

Zaman uyumlu çıkışlarına dönüşümü bileşenlerle ve hedef bileşenleri almak PipelineBuffer veritabanındaki nesneler ProcessInput yöntem.PipelineBuffer Bu konuda alınan yöntem olan bir Input arabellek ve içeren satırları, eklendi için ters yönde bileşenleri.Bu arabellek, kısıtlı ve eklemek veya arabelleğindeki satır kaldırmak için kullanılamaz.

PipelineBuffer Yönetilen kod ve yönetilen destekler yazılmış veri akışı bileşeni tarafından yönetilen kod ve alttaki arasında veri sıralanırken geliştiriciler IDTSBuffer100 com nesnesi.

Eksiksiz bir listesini görmek için Integration Services veri türleri ve karşılık gelen Al ve Set yöntemleri PipelineBuffer her bir veri türü ile kullanmak için bkz: sınıfın Veri akışı veri türleriyle çalışma.

Örnekler

Aşağıdaki örnek, satır ve sütunlar halinde dolaşır dönüştürme bileşeni gösterir bir PipelineBuffer , ProcessInput.

using System;
using Microsoft.SqlServer.Dts;
using Microsoft.SqlServer.Dts.Pipeline;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;


namespace Microsoft.Samples.SqlServer.Dts
{
   [DtsPipelineComponent
   (
   DisplayName="SampleComponent",
   ComponentType=ComponentType.Transform
   )]
   public class SampleComponent: PipelineComponent
   {
      public override void ProvideComponentProperties()
      {
         base.ProvideComponentProperties();

         ///Name the input and output add by the base class.
         ComponentMetaData.InputCollection[0].Name = "SampleInput";
         ComponentMetaData.OutputCollection[0].Name = "SampleOutput";
      }

      public override void ProcessInput(int inputID, PipelineBuffer buffer)
      {

      IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);

      while (buffer.NextRow())
      {
         foreach (IDTSInputColumn100 col in input.InputColumnCollection)
         {
            int colIndex = BufferManager.FindColumnByLineageID(input.Buffer,col.LineageID);
            object colData = buffer[colIndex];
            //TODO: Do something with the column data.
         }
      }
      }
   }
}

Çıkış arabellekte ekler Satır bir kaynak bileşeni aşağıdaki örnekte gösterildiği PrimeOutput.

using System;
using Microsoft.SqlServer.Dts;
using Microsoft.SqlServer.Dts.Pipeline;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;


namespace Microsoft.Samples.SqlServer.Dts
{
   [DtsPipelineComponent
   (
      DisplayName="SampleComponent",
      ComponentType=ComponentType.SourceComponent
)]
   public class SampleComponent: PipelineComponent
   {
      public override void PrimeOutput(int outputs, int[] outputIDs,PipelineBuffer[] buffers)
      {
         int rows = 100;
         PipelineBuffer buf = buffers[0];
         IDTSOutput100 output = ComponentMetaData.OutputCollection[0];
         Random rand = new Random();

         //Loop rows number of times
         for(int r = 0; r < rows; r++)
         {
            buf.AddRow();
            foreach( IDTSOutputColumn100 col in output.OutputColumnCollection)
            {
               int colIndex = BufferManager.FindColumnByLineageID( output.Buffer, col.LineageID);
               // Note, buffer columns containing binary large objects
               // can not be set using the following syntax. Instead,
               // the AddBlobData and SetBytes methods are used.
               buf[colIndex] = rand.Next();
            }
         }
         buf.SetEndOfRowset();
      }
   }
}

İş Parçacığı Güvenliği

Bu türdeki tüm ortak static (Visual Basic'te Shared) üyeler iş parçacığı için güvenlidir. Herhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.