PipelineComponent.Validate Метод

Определение

Важно!

Этот API несовместим с CLS.

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

public:
 virtual Microsoft::SqlServer::Dts::Pipeline::Wrapper::DTSValidationStatus Validate();
[System.CLSCompliant(false)]
public virtual Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus Validate();
[<System.CLSCompliant(false)>]
abstract member Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
override this.Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
Public Overridable Function Validate () As DTSValidationStatus

Возвращаемое значение

Значение из DTSValidationStatus перечисления, указывающее состояние компонента.

Атрибуты

Комментарии

Validate Метод переопределяется разработчиками компонентов для проверки правильной настройки компонента. Он вызывается многократно при проектировании пакета и один раз перед выполнением компонента. Компоненты не должны изменять его ComponentMetaData во время Validate.

Реализация базового класса Validate проверяет существование IDTSInputColumn100 объектов, свойства которых LineageID не совпадают с LineageID свойством a IDTSOutputColumn100 для исходящей компоненты. Разработчикам компонентов следует расширить функциональность базового класса Validate , выполняя дополнительные проверки на ComponentMetaData. Каждый компонент имеет свои требования для успешной валидации, но в следующем списке приводятся некоторые общие элементы, которые следует проверить.

  • Проверьте, что компонент имеет ожидаемое количество объектов IDTSInput100 и IDTSOutput100 объектов.

  • Проверьте, что какие-либо IDTSCustomProperty100 объекты продолжают существовать и содержат правильные значения.

  • Если компонент использует соединение, он должен проверить, что оно IDTSRuntimeConnection100 указано и что оно ConnectionManager существует в пакете.

Компоненты должны предоставлять пользователям обратную связь при неудаче валидации. Обратная связь предоставляется через FireError методы и FireWarning с DTSValidationStatus помощью возвратного значения. Вызовы к FireError и FireWarning отображаются в окне списка ошибок в SQL Server Data Tools (SSDT) и должны давать пользователю рекомендации по ошибке валидации. Из четырёх значений в DTSValidationStatus перечислении только VS_ISVALID обозначает успешную валидацию. Остальные три значения указывают на разные уровни отказа. В следующей таблице описаны значения отказов в перечислении и то, как они интерпретируются проектировщиком SSIS.

Статус Описание
VS_ISBROKEN Указывает, что компонент настроен неправильно, но изменение пользователем на ComponentMetaData решение проблем.
VS_NEEDSNEWMETADATA Указывает, что ошибки валидации могут быть исправлены компонентом при реализации ReinitializeMetaData метода. SSIS Designer подсказывает пользователям, что компонент может восстанавливать себя при VS_NEEDSNEWMETADATA, и затем ReinitializeMetaData вызывается.
VS_ISCORRUPT Указывает, что компонент ComponentMetaData повреждён и не может быть восстановлен вызовом ReinitializeMetaData или правкой компонента.

Когда DelayValidation свойство задачи потока данных — true, вызовы по времени проектирования устраняются Validate , и метод вызывается до выполнения компонентов.

Дополнительные сведения см. в разделе Проверка компонента потока данных.

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