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