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() |
Проверяет, правильно ли настроен компонент. |