Главная » 2015 » Сентябрь » 24 » Как отправить запланированный отчет HTML непосредственно из SQL Server
09:34
Как отправить запланированный отчет HTML непосредственно из SQL Server

Как отправить запланированный отчет HTML непосредственно из SQL Server

В этой статье мы расскажем вам, как получить информацию, которая "истекает в ближайшее время" и отправлять эти данные ежедневно через электронную почту всем заинтересованным пользователям, используя SQL-сервер и .Net код.

Шаги

  1. 1 Введите запрос, чтобы получить исходные данные. В приведенном ниже примере мы будет использовать базу данных «AdventureWorks». Попробуйте использовать базу данных побольше, чем в текущем примере.
    • Вот результаты.
  2. 2 Выполните запрос и отправьте результаты. SQL Server (с версии 2005 года) имеет хранимую процедуру для отправки почты непосредственно из базы данных. SQL Mail должен быть настроен и запущен на сервере. Используя «msdb.dbo.sp_send_dbmail» вы можете отправить результаты запроса в виде электронной почты, так же просто, как это выглядит на картинке.
    • Вот как это выглядит в Outlook.
  3. 3 Рассмотрите вариант отправки данных в HTML. Если вам нужно, чтобы результаты имели более доступный и профессиональный вид, то лучшим вариантом является, отправить их в HTML. Это и есть особенность процедуры «sdb.dbo.sp_send_dbmail». Сочетая эту опцию и XML возможности SQL Server, можно написать хранимую процедуру для преобразования результатов в HTML таблицу, как вы видите на изображении.
    • Результат описанной выше процедуры это исходный отчет HTML. Обратите внимание на участие «FOR XML PATH» запроса, который просто создает структуру tr-td тегов таблицы. Запустите отчет, как показано на рисунке.
    • Это то, что вы получите.
  4. 4 Таким образом вы теперь можете добавить стиль к HTML, который у вас уже есть в хранимой процедуре.
    • Вот как это будет выглядеть в конце.
  5. 5 Теперь посмотрите, что работает. В этот один запрос вы может включить любую задачу в SQL. Не трудно получить список получателей электронной почты с адресами и создать цикл для выполнения процедуры «msdb.dbo.sp_send_dbmail». Наконец, программа предназначена для того, чтобы вы получали данные непосредственно из SQL так часто, как вам нужно.


Категория: Вопросы и ответы | Просмотров: 490 | | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]