Поделиться через


Образец EmailLogProvider

Добавления: 14 апреля 2006 г.

В образце EmailLogProvider демонстрируется создание пользовательского регистратора Email Log Provider, который пересылает выводимые данные в виде сообщения электронной почты в обычном текстовом или в HTML-формате. Этот образец не поддерживается в операционных системах на платформе Itanium.

Дополнительные сведения о создании пользовательского регистратора см. в разделе Creating a Custom Log Provider. Сведения об использовании регистраторов в службах Integration Services см. в разделе Регистраторы служб Integration Services.

Пользовательский регистратор принимает на входе разделенный точками с запятой список строк, в котором указан SMTP-сервер, адрес получателя, адрес отправителя, а также формат сообщения (текстовый или HTML). Регистратор кэширует регистрируемые события, а затем, по окончании выполнения пакета, отправляет все накопленные данные в теле сообщения электронной почты. Регистратор пропускает два последних стандартных столбца (dataCode и dataBytes), которые содержат двоичные данные и поэтому не могут быть правильно отображены. Для удобства повторного использования образец инкапсулирует код вывода в отдельных классах: для текста — в классе TextLogWriter, а для формата HTML — в классе HtmlLogWriter. Каждый из них содержит подпрограммы OpenLog<format>, Log<format> и CloseLog<format>, вызываемые из методов OpenLog, Log и CloseLog, соответственно.

Этот образец кода реализует следующие функции:

  • перекрытие класса LogProviderBase;
  • обеспечение сохранения состояния по умолчанию (чтобы разработчику не приходилось писать для этого код).
ms365179.note(ru-ru,SQL.90).gifВажно!
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Майкрософт не предоставляет техническую поддержку для этих образцов.

Выполнение образца

Если вы уже умеете находить, строить и устанавливать образцы программного кода, можно перейти непосредственно к разделу Проверка образца и прочитать о настройке и запуске образца программного кода.

Предварительные требования

Для данного образца должны быть установлены следующие компоненты.

  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

При использовании этого образца также необходимо наличие доступного SMTP-сервера для отправки электронной почты.

Расположение

Если образец кода был установлен в каталог по умолчанию, то он расположен в следующем каталоге.

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\EmailLogProvider Sample

Решение для образца кода на языке C# расположено в каталоге CS, а решение на языке Visual Basic — в каталоге VB.

Сведения о двухэтапном процессе установки образцов см. в разделе Установка образцов. Чтобы получить последнюю версию образцов, включая новые, выпущенные после исходной версии SQL Server 2005, см. веб-страницу «Образцы SQL Server 2005 и образцы баз данных (апрель 2006 г.)».

Построение образца

Если в папке Samples еще не создан файл ключа для строгого имени, создайте его с помощью следующей процедуры. На вкладке Подпись диалогового окна Свойства проекта образцов проектов этот файл задан в качестве ключа для подписи сборок.

Создание файла ключа для строгого имени

  1. Чтобы открыть командную строку Microsoft Visual Studio 2005, нажмите кнопку Пуск, укажите последовательно пункты Все программы, Microsoft Visual Studio 2005, Средства Visual Studio, а затем выберите пункт Командная строка Visual Studio 2005.

    — или —

    Чтобы открыть командную строку Microsoft .NET Framework, нажмите кнопку Пуск, укажите последовательно пункты Все программы, Microsoft .NET Framework SDK 2.0, а затем выберите пункт Командная строка SDK.

  2. В командной строке используйте команду смены каталога (CD) для смены текущей папки, отображаемой в окне командной строки, на папку Samples. Созданный в этой папке файл ключа будет использоваться всеми образцами кода SQL Server 2005.

    ms365179.note(ru-ru,SQL.90).gifПримечание.
    Для определения папки, в которой находятся образцы, нажмите Пуск, последовательно укажите Программы, Microsoft SQL Server 2005, Документация и учебные материалы и выберите пункт Каталог образцов. Если установка производилась в каталог по умолчанию, то образцы находятся в каталоге «<системный_диск>:\Program Files\Microsoft SQL Server\90\Samples».
  3. Для создания файла ключа выполните следующую команду в командной строке:

    sn -k SampleKey.snk
    
    ms365179.note(ru-ru,SQL.90).gifВажно!
    Дополнительные сведения о паре ключей для строгого имени см. в разделе «Краткие сведения по безопасности. Строгие имена и безопасность для платформы .NET Framework» в центре разработчиков .NET в MSDN.

Построение образца в среде Microsoft Visual Studio 2005

  1. В меню Файл | Открыть выберите Проект и откройте файл EmailLogProviderVB.sln или EmailLogProviderCS.sln.

  2. В меню Построить выберите пункт Построить решение, чтобы выполнить построение решения.

Установка образца

Этот образец предоставлен на языках Visual Basic и C#. Чтобы отличать сборки для каждой версии образца, к имени выходной сборки добавляется CS или VB. После успешного построения компонента выполните следующие шаги, чтобы добавить его в пакет в качестве диспетчера соединения в пакет среды Business Intelligence Development Studio.

Копирование компонента в папку Connections

  1. Откройте проводник Windows или другое приложение для работы с файловой системой.

  2. Скопируйте сборку (EmailLogProviderCS.dll или EmailLogProviderVB.dll) в папку LogProviders, которая находится в каталоге %system%\Program Files\Microsoft SQL Server\90\DTS.

Установка компонента в глобальный кэш сборок (GAC) путем перетаскивания сборок

  1. Откройте проводник Windows или другое приложение для работы с файловой системой.

  2. Перетащите сборку из папки LogProviders в папку, где расположен глобальный кэш сборок (GAC), в %system%\assembly.

Установка компонента в глобальный кэш сборок с помощью программы gacutil.exe

  1. Откройте окно командной строки.

  2. Для установки версии компонента на C# в глобальный кэш сборок введите следующие команды:

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\CS\EmailLogProviderCS\bin\Debug\EmailLogProviderCS.dll"
    

    — или —

    Для установки версии Visual Basic компонента в глобальный кэш сборок введите следующие команды:

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\VB\EmailLogProviderVB\bin\Debug\EmailLogProviderVB.dll"
    

Проверка образца

Теперь можно проверить пользовательский регистратор в пакете.

Использование образца регистратора в пакете

  1. Подтвердите имя доступного SMTP-сервера.

  2. В меню SSIS выберите Ведение журнала и добавьте «Пользовательский регистратор для почтовых сообщений (CS)» или «Пользовательский регистратор для почтовых сообщений (VB)». Попробуйте настроить два экземпляра регистратора, что позволит протестировать оба формата вывода: и текстовый, и HTML.

  3. В столбце Configuration введите разделенный точками с запятой список из четырех строк, в котором укажите сервер SMTP адрес получателя, адрес отправителя и формат сообщения (текстовый или HTML). Например:

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. Настройте ведение журнала таким образом, чтобы события пакета и его компонентов записывались пользовательским регистратором.

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