Klasa PipelineBuffer
Zapewnia Sklep w pamięci danych zawierających wiersze i kolumny danych.
Hierarchia dziedziczenia
System.Object
Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer
Przestrzeń nazw: Microsoft.SqlServer.Dts.Pipeline
Zestaw: Microsoft.SqlServer.PipelineHost (w Microsoft.SqlServer.PipelineHost.dll)
Składnia
'Deklaracja
Public Class PipelineBuffer _
Implements IDisposable
'Użycie
Dim instance As PipelineBuffer
public class PipelineBuffer : IDisposable
public ref class PipelineBuffer : IDisposable
type PipelineBuffer =
class
interface IDisposable
end
public class PipelineBuffer implements IDisposable
Typ PipelineBuffer uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
![]() |
ColumnCount | Pobiera numer kolumny w PipelineBuffer. |
![]() |
CurrentRow | Pobiera indeks bieżącego wiersza w PipelineBuffer. |
![]() |
EndOfRowset | Pobiera wartość wskazującą czy bieżące PipelineBuffer jest końcowym buforu. |
![]() |
Item | Pobiera dane przechowywane kolumna buforu. |
![]() |
Mode | Pobiera wartość wskazującą czy PipelineBuffer jest IDTSInput100 buforu lub IDTSOutput100 buforu. |
![]() |
RowCount | Pobiera liczbę wierszy w PipelineBuffer obiektu. |
Do góry
Metody
Nazwa | Opis | |
---|---|---|
![]() |
AddBlobData(Int32, array<Byte[]) | Dodaje tablicę bajtów, aby PipelineBuffer kolumna. |
![]() |
AddBlobData(Int32, array<Byte[], Int32) | Dodaje tablicę określoną liczbę bajtów do PipelineBuffer kolumna. |
![]() |
AddRow | Dodaje wiersz do PipelineBuffer obiektu. |
![]() |
DirectErrorRow(Int32, Int32, Int32) | Wysyła PipelineBuffer wiersza do IDTSOutput100 którego IsErrorOut właściwość jest true. |
![]() |
DirectErrorRow(Int32, Int32, Int32, Int32) | Wysyła PipelineBuffer wiersza do IDTSOutput100 którego IsErrorOut właściwość jest true. |
![]() |
DirectRow | Wysyła wiersz z PipelineBuffer na określony IDTSOutput100. |
![]() |
Dispose() | Zwalnia wszystkie zasoby używane przez PipelineBuffer. |
![]() |
Dispose(Boolean) | Zwalnia niezarządzanych zasoby, które są używane przez PipelineBufferi opcjonalnie zwalnia zasobów zarządzanych. |
![]() |
Equals | (Dziedziczony z Object). |
![]() |
Finalize | Zwalnia wszystkie zasoby używane przez PipelineBuffer. (Zastępuje Object.Finalize()). |
![]() |
GetBlobData | Pobiera tablicę bajtów z duży obiekt binarny (BLOB) przechowywane w PipelineBuffer kolumna. |
![]() |
GetBlobLength | Pobiera liczbę bajtów zawartych w duży obiekt binarny (BLOB) PipelineBuffer kolumna. |
![]() |
GetBoolean | Pobiera bool wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetByte | Pobiera bajt wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetBytes | Pobiera tablicę bajtów, przechowywane kolumna buforu. |
![]() |
GetColumnInfo | Pobiera BufferColumn struktury dla PipelineBuffer kolumna. |
![]() |
GetDate | Pobiera DateTime wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetDateTime | Pobiera DateTime wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetDateTimeOffset | Pobiera DateTimeOffset wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetDecimal | Pobiera dziesiętny wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetDouble | Pobiera podwójne w PipelineBuffer kolumna. |
![]() |
GetGuid | Pobiera Guid wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetHashCode | (Dziedziczony z Object). |
![]() |
GetInt16 | Pobiera krótki w PipelineBuffer kolumna. |
![]() |
GetInt32 | Pobiera int w PipelineBuffer kolumna. |
![]() |
GetInt64 | Pobiera długi w PipelineBuffer kolumna. |
![]() |
GetSByte | Pobiera SByte wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetSingle | Pobiera pływaka, przechowywane w PipelineBuffer kolumna. |
![]() |
GetString | Pobiera ciąg przechowywane kolumna buforu. |
![]() |
GetTime | Pobiera TimeSpan wartość przechowywaną w PipelineBuffer kolumna. |
![]() |
GetType | (Dziedziczony z Object). |
![]() |
GetUInt16 | Pobiera ushort wartości przechowywane kolumna buforu. |
![]() |
GetUInt32 | Pobiera UInt32 wartości przechowywane kolumna buforu. |
![]() |
GetUInt64 | Pobiera ulong wartości przechowywane kolumna buforu. |
![]() |
IsNull | Sprawdza, czy dane kolumna bufor jest null. |
![]() |
MemberwiseClone | (Dziedziczony z Object). |
![]() |
NextRow | Zaliczki PipelineBuffer do następnego wiersza. |
![]() |
RemoveRow | Usuwa bieżący wiersz z PipelineBuffer. |
![]() |
ResetBlobData | Usuwa zawartość określonej kolumna obiektu BLOB. |
![]() |
SetBoolean | Przypisuje bool wartość PipelineBuffer kolumna. |
![]() |
SetByte | Przypisuje bajt do PipelineBuffer kolumna. |
![]() |
SetBytes | Przypisuje tablicę bajtów kolumna buforu. |
![]() |
SetDate | Przypisuje DateTime wartość PipelineBuffer kolumna. |
![]() |
SetDateTime | Przypisuje DateTime wartość PipelineBuffer kolumna. |
![]() |
SetDateTimeOffset | Przypisuje DateTimeOffset wartość PipelineBuffer kolumna. |
![]() |
SetDecimal | Przypisuje dziesiętny do kolumna buforu. |
![]() |
SetDouble | Przypisuje podwójne do PipelineBuffer kolumna. |
![]() |
SetEndOfRowset | Powiadamia PipelineBuffer składnik zostało zakończone, dodawanie wierszy do buforu. |
![]() |
SetErrorInfo | Ustawia informacje o błędzie dla bieżącego PipelineBuffer wiersza. |
![]() |
SetGuid | Przypisuje Guid do kolumna buforu. |
![]() |
SetInt16 | Przypisuje całkowita 16-bitowych kolumna buforu. |
![]() |
SetInt32 | Przypisuje całkowita 32-bitowych kolumna buforu. |
![]() |
SetInt64 | Przypisuje całkowita 64-bitowych kolumna buforu. |
![]() |
SetNull | Przypisuje nullodwołanie o wartości null (Nothing w języku Visual Basic) do kolumna buforu. |
![]() |
SetSByte | Przypisuje całkowita 8-bitowa kolumna buforu. |
![]() |
SetSingle | Przypisuje pływak kolumna buforu. |
![]() |
SetString | Przypisuje kolumna buforu ciąg. |
![]() |
SetTime | Przypisuje TimeSpan wartość PipelineBuffer kolumna. |
![]() |
SetUInt16 | Przypisuje niepodpisane 16-bitowa liczba całkowita kolumna buforu. |
![]() |
SetUInt32 | Przypisuje niepodpisane 32-bitowa liczba całkowita kolumna buforu. |
![]() |
SetUInt64 | Przypisuje niepodpisane 64-bitowa liczba całkowita kolumna buforu. |
![]() |
ToString | (Dziedziczony z Object). |
Do góry
Uwagi
PipelineBuffer Jest w pamięci dwuwymiarową magazyn danych zawierających wiersze i kolumny.Jest tworzony przez zadanie przepływ danych i dostarczonych danych zarządzanych składników przepływu podczas wykonywania.Kolumny zawarte w buforze są oparte na kolumny w IDTSOutputColumnCollection100 kolekcji elementów wykresu.
Składniki źródła i z wyjść asynchronicznego otrzymywać buforu dla każdego z obiektów danych wyjściowych podłączonych do składnika niższego rzędu.Bufory są nazywane buforów wyjściowych i nie zawiera wierszy.Składnik, który odbiera bufor wyjściowy dodaje wiersze buforu i wywołania SetEndOfRowset metoda po zakończeniu.Ta metoda ustawia wartość EndOfRowset Właściwość true na końcowym buforu.zadanie przepływu danych Przewiduje, że bufor do następnego składnika na wykresie.
Składniki transformacji z synchronicznej wyjść i obiekt docelowy otrzymywać PipelineBuffer obiektów w ProcessInput metoda.PipelineBuffer Otrzymanych w tym metoda jest Input buforu i zawiera wiersze, które zostały dodane przez nadrzędny składników.Bufor jest ograniczony i nie można dodać lub usunąć wiersze z bufora.
PipelineBuffer Jest napisany kod zarządzany i obsługuje zarządzanie składnik przepływ danych deweloperów przez zestawiania danych między kodu zarządzanego i podstawowych IDTSBuffer100 obiektu COM.
Pełną listę Integration Services typów danych i odpowiadających im uzyskać i ustawić metody PipelineBuffer klasy za pomocą każdego typu danych, zobacz Praca z typami danych w przepływu danych.
Przykłady
W poniższym przykładzie składnik transformacja, który wykonuje iteracje wierszy i kolumn PipelineBuffer w 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.
}
}
}
}
}
W poniższym przykładzie składnik źródło, wiersze są dodawane do bufora wyjściowego 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();
}
}
}
Bezpieczeństwo wątków
Wszystkie publiczne statyczny (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.