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