Создание пользовательского регистратора
Среда времени выполнения служб Integration Services располагает обширными возможностями по ведению журналов. С помощью журнала можно отслеживать события, происходящие во время выполнения пакета. Службы Integration Services включают целый ряд регистраторов, используя которые можно создавать и сохранять журналы в различных форматах, например, XML, текстовом, базы данных или в виде журнала событий Windows. Если ни один из этих регистраторов или предлагаемых ими выходных форматов не соответствует потребностям пользователя, можно создать пользовательский регистратор.
Создание пользовательского регистратора, как и любого другого пользовательского объекта для служб Integration Services, осуществляется в несколько шагов, а именно:
Создайте новый класс, наследующий базовый класс. Для регистратора базовым классом является LogProviderBase.
Примените к классу атрибут, определяющий тип объекта. Для регистратора используется атрибут DtsLogProviderAttribute.
Переопределите реализацию методов и свойств базового класса. Для регистратора это свойство ConfigString, методы OpenLog, Log и CloseLog.
Настраиваемые интерфейсы пользователя не реализуются для пользовательских регистраторов в службах SQL Server Integration Services.
Рабочие образцы пользовательских регистраторов см. в образцах служб Integration Services в разделе Codeplex.
Приступая к работе над пользовательским регистратором
Создание проектов и классов
Так как все управляемые регистраторы являются производными от базового класса LogProviderBase, на первом шаге создания пользовательского регистратора необходимо создать проект библиотеки классов на предпочитаемом языке программирования управляемого кода, а затем создать класс, наследующий от базового класса. В этом производном классе будут переопределены методы и свойства базового класса, реализующие пользовательские функциональные возможности.
Настройте проект таким образом, чтобы создаваемая сборка подписывалась с использованием файла ключа для строгого имени.
Примечание |
---|
Многие регистраторы служб Integration Services имеют собственный пользовательский интерфейс, в котором реализован интерфейс IDtsLogProviderUI, а вместо содержимого текстового поля Конфигурация в диалоговом окне Настройка журналов служб SSIS используется фильтруемый раскрывающийся список доступных диспетчеров соединений. Однако пользовательские интерфейсы для пользовательских регистраторов не реализуются в службах Integration Services. |
Применение атрибута DtsLogProvider
Примените к созданному классу атрибут DtsLogProviderAttribute, чтобы определить его в качестве регистратора. Этот атрибут содержит сведения для времени разработки, например, имя и описание регистратора. Свойства DisplayName и Description этого атрибута соответствуют столбцам Имя и Описание в редакторе Настройка журналов служб SSIS, который отображается при настройке ведения журнала для пакета в среде Business Intelligence Development Studio.
Важно! |
---|
Свойство LogProviderType атрибута не используется. Однако необходимо ввести значение для него, в противном случае пользовательский регистратор не будет отображаться в списке доступных регистраторов. |
Примечание |
---|
Поскольку пользовательские интерфейсы для пользовательских регистраторов не реализуются в службах Integration Services, указание значения для свойства UITypeName атрибута DtsLogProviderAttribute не имеет никакого эффекта. |
<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _
Public Class MyLogProvider
Inherits LogProviderBase
' TODO: Override the base class methods.
End Class
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]
public class MyLogProvider : LogProviderBase
{
// TODO: Override the base class methods.
}
Построение, развертывание и отладка пользовательского регистратора
Построение, развертывание и отладка пользовательского регистратора в службах Integration Services осуществляется за несколько шагов, аналогичных используемым при работе с другими типами пользовательских объектов. Дополнительные сведения см. в разделе Построение, развертывание и отладка пользовательских объектов.
|
См. также