PipelineComponent Класс

Определение

Определяет базовый класс, используемый при разработке компонентов управляемых потоков данных.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Наследование
PipelineComponent
Производный

Примеры

Следующий пример кода показывает компонент, который реализует DtsPipelineComponentAttribute и наследует от PipelineComponent класса.

using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
namespace Microsoft.Samples.SqlServer.Dts  
{  
    [DtsPipelineComponent(DisplayName="SampleComponent")]  
    public class SampleComponent : PipelineComponent  
    {  
        public override ProvideComponentProperties()  
        {  
            // TODO: Implement component intialization.  
        }  
        public override DTSValidationStatus Validate()  
        {  
            // TODO: Implement component validation.  
        }  
        public override void ProcessInput( int inputID, PipelineBuffer buffer)  
        {  
            // TODO: For transformation and destination components,  
            //  implement code to process incoming rows.  
        }  
    }  
}  
Imports System   
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Namespace Microsoft.Samples.SqlServer.Dts   

 <DtsPipelineComponent(DisplayName="SampleComponent")> _   
 Public Class SampleComponent   
 Inherits PipelineComponent   

   Public Overrides Sub ProvideComponentProperties()   
    ' TODO: Implement component intialization.  
   End Sub   

   Public Overrides Function Validate() As DTSValidationStatus   
    ' TODO: Implement component validation.  
   End Function   

   Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
    ' TODO: For transformation and destination components,  
    '  implement code to process incoming rows.  
   End Sub   
 End Class   
End Namespace  

Комментарии

Наследуйте из этого класса, чтобы создать собственный компонент потока данных. Этот класс реализует необходимые компонентные интерфейсы IDTSDesigntimeComponent100 и IDTSRuntimeComponent100. Вы переопределяете реализацию базового класса этих методов, чтобы обеспечить функциональность вашего компонента. PipelineComponent предоставляет вспомогательные методы, а также методы интерфейсов компонентов, чтобы помочь вам в разработке компонента.

Конструкторы

Имя Описание
PipelineComponent()

Инициализирует новый экземпляр класса PipelineComponent.

Поля

Имя Описание
s_STOCKPROPNAME_COMPFLAGS

Содержит название свойства ComparisonFlags компонентов потока данных.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Содержит название свойства DeleteOutputOnPathDetached компонентов потока данных.

s_STOCKPROPNAME_EXCLGROUP

Содержит название свойства ExclusionGroup компонентов потоков данных.

s_STOCKPROPNAME_HASSIDEEFFECTS

Содержит название свойства HasSideEffects компонентов потока данных.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Содержит название свойства IsDistributable компонентов потоков данных.

s_STOCKPROPNAME_ISERROROUT

Содержит имя свойства IsErrorOut компонентов потока данных.

s_STOCKPROPNAME_ISSORTED

Содержит название свойства IsSorted компонентов потока данных.

s_STOCKPROPNAME_REFMETADATAID

Содержит название свойства ReferenceMetaDataID компонентов потока данных.

s_STOCKPROPNAME_SORTKEYPOS

Содержит имя свойства SortKeyPosition компонентов потока данных.

s_STOCKPROPNAME_SYNCINPUTID

Содержит название свойства SynchronousInputID компонентов потоков данных.

Свойства

Имя Описание
BufferManager

Получает IDTSBufferManager100 компонент конвейера.

ComponentMetaData

Получает IDTSComponentMetaData100 для компонента.

ErrorSupport

Возвращает ErrorSupport объект, позволяющий компоненту создавать ошибки, предупреждения или другие информационные события на основе HRESULT, возвращаемых компонентами Integration Services, написанных в родном коде.

EventInfos

Получает IDTSEventInfos100 коллекцию PipelineComponent объекта.

LogEntryInfos

Получает IDTSLogEntryInfos100 коллекцию событий логирования, которые компонент зарегистрировал.

ReferenceTracker

Получает компонент.IDTSObjectReferenceTracker100

VariableDispenser

Получает IDTSVariableDispenser100 компонент потока данных.

Методы

Имя Описание
AcquireConnections(Object)

Устанавливает соединение с менеджером соединений.

AddErrorOutput(String, Int32, Int32)

Добавляет IDTSOutput100 объект и отмечает его как ошибку, устанавливая IsErrorOut свойство true.

BufferTypeToDataRecordType(DataType)

Возвращает управляемый тип данных на основе типа данных Integration Services.

Cleanup()

Освобождает ресурсы и завершает выполнение компонента.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Получает соответствующие интеграционные сервисы DataType из управляемого кода.

DataRecordTypeToBufferType(Type)

Получает интеграционные сервисы DataType , соответствующие управляемому типу.

DeleteExternalMetadataColumn(Int32, Int32)

Удаляет столбец внешних метаданных по указанному индексу из коллекции столбцов внешних метаданных.

DeleteInput(Int32)

Удаляет объект IDTSInput100 из IDTSInputCollection100 коллекции.

DeleteOutput(Int32)

Удаляет объект IDTSOutput100 из IDTSOutputCollection100 коллекции.

DeleteOutputColumn(Int32, Int32)

Удаляет объект IDTSOutputColumn100 из IDTSOutputColumnCollection100 коллекции.

DescribeRedirectedErrorCode(Int32)

Предоставляет информацию о коде ошибки для строки, PipelineBuffer добавленной в выходной буфер.

GetDependentInputs(Int32)

Возвращает набор входных идентификаторов входов, которые ожидают дополнительных данных и, следовательно, блокируют указанный вход.

GetErrorOutputInfo(Int32, Int32)

Возвращает индекс и идентификатор выходной ошибки компонента.

idxOfBufferType(DataType)

Задаёт тип индекса буфера.

idxOfDataRecordType(Type)

Указывает тип индекса записей данных.

Initialize()

При перезаписке в производном классе инициализируется новый экземпляр пользовательского компонента потока данных.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Вставляет новый внешний столбец метаданных в коллекцию внешних столбцов метаданных по указанному индексу.

InsertInput(DTSInsertPlacement, Int32)

IDTSInput100 Добавляет объект в IDTSInputCollection100объект .

InsertOutput(DTSInsertPlacement, Int32)

Добавляет новый IDTSOutput100 объект

InsertOutputColumnAt(Int32, Int32, String, String)

Создаёт новый IDTSOutputColumn100 объект и вставляет его в IDTSOutputColumnCollection100.

IsCompatibleNumericTypes(DataType, DataType)

Определяет, совместимы ли два числовых типа данных для поддержки преобразования с одного типа в другой.

IsInputReady(Int32[], Boolean[])

Определяет, какие входы, подключённые к компоненту, ожидают дополнительных данных, а какие имеют достаточно данных для обработки и блокируются.

MapInputColumn(Int32, Int32, Int32)

Устанавливает связь между входным столбцем и соответствующим столбцем внешних метаданных.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Устанавливает связь между выходным столбцем и соответствующим столбцем внешних метаданных.

OnDeletingInputColumn(Int32, Int32)

Удаляет объект IDTSInputColumn100 из IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

Вызывается, когда IDTSInput100 объект подключается к компоненту через IDTSPath100 интерфейс.

OnInputPathDetached(Int32)

Вызывается, когда IDTSInput100 объект отключается от компонента через IDTSPath100 интерфейс.

OnOutputPathAttached(Int32)

Вызывается, когда IDTSOutput100 объект компонента прикреплён к нижней компоненте.

PerformDowngrade(Int32, DTSTargetServerVersion)

По умолчанию PerformDowngrade не должен выдавать ComponentDowngradeFailedException, поскольку время выполнения может определить, вызывать ли этот метод только с помощью targetServerVersion; он не может проверить версию компонента, так как не знает, была ли версия компонента изменена между двумя версиями SSIS, в то время как метод PerformUpgrade проверяет, меньше ли версия компонента в XML пакета перед вызовом.

PerformUpgrade(Int32)

Обновляет метаданные компонента до версии компонента, установленной на локальном компьютере.

PostExecute()

Вызывается в конце выполнения компонента, но до Cleanup().

PreExecute()

Вызывается после PrepareForExecute(), и до PrimeOutput(Int32, Int32[], PipelineBuffer[]) и ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Звонил раньше PreExecute().

PrimeOutput(Int32, Int32[], PipelineBuffer[])

Вызывается во время выполнения исходных компонентов и компонентов преобразования с асинхронными выходами, чтобы эти компоненты могли добавлять строки в выходные буферы.

ProcessInput(Int32, PipelineBuffer)

Вызывается во время выполнения, когда компоненту доступен PipelineBuffer компонент из выходящего компонента, позволяющий компоненту обработать входящие строки.

ProvideComponentProperties()

Вызывается, когда компонент впервые добавляется в задачу потока данных, для инициализации ComponentMetaData компонента.

RegisterEvents()

Когда вы разрабатываете пользовательский компонент потока данных, вы переопределяете этот метод, чтобы создавать пользовательские события.

RegisterLogEntries()

Регистрирует события, которые компонент будет записывать.

ReinitializeMetaData()

Исправляет любые ошибки, выявленные во время валидации, из-за которых компонент возвращается VS_NEEDSNEWMETADATA в момент проектирования.

ReleaseConnections()

Освобождает связи, установленные во AcquireConnections(Object)время . Звонил во время проектирования и во время выполнения.

RemoveAllInputsOutputsAndCustomProperties()

Удаляет каждый IDTSInput100 объект IDTSOutput100 и объект из компонента.

SetComponentProperty(String, Object)

Присваивает значение a IDTSCustomProperty100 компонента.

SetExternalMetadataColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Устанавливает свойства типа данных указанного внешнего столбца метаданных.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Устанавливает отдельное свойство внешнего столбца метаданных.

SetInputColumnProperty(Int32, Int32, String, Object)

Присваивает значение IDTSCustomProperty100 объекту IDTSInputColumn100 .

SetInputProperty(Int32, String, Object)

Присваивает значение IDTSCustomProperty100 объекту IDTSInput100 .

SetOutputColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Задаёт свойства IDTSOutputColumn100 типа данных объекта.

SetOutputColumnProperty(Int32, Int32, String, Object)

Задаёт значение a IDTSCustomProperty100 для объекта IDTSOutputColumn100 .

SetOutputProperty(Int32, String, Object)

Задаёт значение a IDTSCustomProperty100 на объекте IDTSOutput100 .

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Создаёт IDTSInputColumn100 объект в IDTSInputColumnCollection100 компоненте и задаёт UsageType свойство столбца.

Validate()

Проверяет, правильно ли настроен компонент.

Применяется к