Създайте персонализиран регистрационен код, Microsoft Docs

След като създадете клас, който наследява от базовия клас LogProviderBase и приложите атрибута DtsLogProviderAttribute към него, трябва да замените изпълнението на свойствата и методите на базовия клас, за да предоставите персонализирана функционалност.

Настройка на рекордера

Инициализация на регистратора

Трябва да замените метода InitializeLogProvider, за да кеширате препратки към колекцията за връзка и интерфейса на събитията. По-късно можете да използвате тези кеширани връзки в други методи за регистриране.

Използване на свойството ConfigString

По време на разработката регистраторът получава конфигурационни данни от колонатаКонфигурация. Тези конфигурационни данни съответстват на свойството ConfigString на регистратора. По подразбиране тази колона съдържа текстово поле, от което можете да получите всякакви низови данни. Повечето регистратори, включени в Integration Services, използват това свойство, за да съхраняват името на мениджъра на връзката, който регистраторът използва за свързване към външен източник на данни. Ако избраният регистратор използва свойството ConfigString, използвайте метода Validate, за да проверите свойството, за да се уверите, че има правилната стойност.

Проверка на регистратора

Трябва да замените метода Validate, за да сте сигурни, че регистраторът е конфигуриран правилно и е готов за работа. Обикновено се изисква минимално ниво на валидиране, за да се уверите, че ConfigString е настроен правилно. Изпълнението не може да продължи, докато регистраторът не върне успех от метода Validate.

Следният пример на код демонстрира реализация на метода Validate, който проверява дали името на мениджъра на връзката епосочи, че мениджърът на връзки съществува в пакета и че мениджърът на връзки връща името на файла в свойството ConfigString.

Устойчивост на рекордера

По принцип не е необходимо да се прилага персонализиран механизъм за постоянство за мениджъра на връзките. Нестандартен механизъм за устойчивост е необходим само когато свойствата на обекта използват сложни типове данни. За повече информация вижте Разработване на потребителски обекти за услуги за интеграция.

Сеч с дърводобив

Има три метода за изпълнение, които трябва да бъдат заменени от всички регистратори: OpenLog, Log и CloseLog.

Важно!

По време на валидирането и изпълнението на единичен пакет методите OpenLog и CloseLog се извикват повече от веднъж. Уверете се, че персонализираният код няма да презапише по-ранни записи в регистрационния файл при следващото отваряне и затваряне на регистрационния файл. Ако сте избрали да регистрирате валидиращи събития във вашия тестов пакет, първото регистрирано събитие трябва да бъде събитието OnPreValidate. Ако вместо това PackageStart е първото събитие в регистрационния файл, първоначалните валидиращи събития са били презаписани.

Отваряне на списание

Повечето регистратори се свързват с външен източник на данни, като файл или база данни, за да съхраняват данни за събития, които се събират по време на изпълнение на пакета. Както при всеки друг обект в средата за изпълнение, връзката към външен източник на данни обикновено се установява с помощта на обекти на мениджъра на връзки.

Методът OpenLog се извиква в началото на изпълнението на пакета. Заменете този метод, за да установите връзка с външен източник на данни.

В следния примерен коддемонстрира логер, който отваря текстов файл за запис по време на изпълнението на метода OpenLog. Файлът се отваря чрез извикване на метода AcquireConnection на мениджъра на връзката, който е зададен в свойството ConfigString.

Създаване на записи в дневник

Методът Log се извиква всеки път, когато обект в пакета задейства събитие чрез извикване на метода Fire на един от интерфейсите на събитието. Всяко събитие се задейства с информация за неговия контекст и обикновено е придружено от обяснително съобщение. Въпреки това, не всяко извикване на метода Log включва информация за всеки параметър на метода. Например някои стандартни събития, чиито имена се обясняват сами по себе си, не предоставят параметри MessageText, а параметрите DataCode и DataBytes са за незадължителна спомагателна информация.

Следният пример на код имплементира метода Log и записва събития в потока, отворен в предишния раздел.

Затваряне на списанието

Методът CloseLog се извиква в края на изпълнението на пакета, след като всички обекти в пакета са приключили с изпълнението (или ако изпълнението на пакета е спряло поради грешки).

Следният пример на код демонстрира реализация на метода CloseLog, който затваря файлов поток, който е отворен, когато се изпълнява методът OpenLog.

Бъдете в крак с новостите в Integration Services

За да получавате автоматични известия за тези актуализации, абонирайте се за RSS каналите, предлагани на тази страница.