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 , и метод вызывается до выполнения компонентов.
Дополнительные сведения см. в разделе Проверка компонента потока данных.