Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » MS SQL Автоматизация рассылки сторонних отчетов

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

sqsqsq

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исходные данные
Есть сервер Win2008 (r2) Standard SP1 64.  
На нем сервис собирает данные с датчиков и записывает в MS SQL 2008 (10.50.1600).  
Если сервис видит что-то подозрительное, он делает запись в таблицу [TestDB].[dbo].[Commands]
 
Нужно при срабатывании датчика отправить email с отчетом в приложении, а точнее:
1. Мониторить новые записи в [TestDB].[dbo].[Commands]    
2. При появлении новой записи узнать IP адрес сработавшего датчика
3. Зайти по IP адресу по HTTP, дать команду на генерацию PDF отчета, подождать минуты 2-3, пока отчет будет готов, скачать отчет на диск
4. Отправить емейл с отчетом в аттаче  
 
Вопрос
Как такие задачи решаются по-нормальному?  
 
Сначала в общем, как к этому подходил
1. изменение данных в таблице отслеживать триггером
2. адрес можно вытащить из БД - запросом в теле самого триггера  
3. самая непонятная часть. У датчика есть веб интерфейс, через который можно зайти и, нажав несколько кнопок и подождав пару минут, получить кнопку для скачки PDF отчета.
Данные для отчета собираются с самого устройства скриптом сразу в PDF, прямо в браузере, после чего есть возможность сохранить его.  
То есть, сам отчет нигде не хранится, пока его не сохранят принудительно, нажав на кнопку Download со свойством onclick="downloadReport()".
Пока что научился это делать через AutoIt (открываю браузер, точнее не браузер а IE, в нем захожу на нужную страницу, заполняю данные в форму, нажимаю кнопку генерации отчета, жду появления кнопки скачать, сохраняю PDF файл и заодно пишу полное имя файла в лог, симулирую нажатие клавиш для подтверждения сохранения файла (спасибо мелкософту), закрываю ИЕ) и запускать его через MS SQL Server Agent Job, который еще к тому же вызывает задание планировщика виндовс schtasks, который стартует исполняемый файл, сгенерированный в AutoIt.
4. рассылка уведомления средствами MS SQL Server mail, имя файла для аттача считывается из лога, полученного на предыдущем шаге
 
Что пытаюсь сделать:
1. В MS SQL cоздал триггер на изменеие [TestDB].[dbo].[Commands]  
 
Триггер в цвете    Черно-белый текст sql-запроса триггера
 
2. Скрипт AutoIt
уже описал, что он делает. Но выкладывать его здесь стыдно
 
PS1 Прошу прощения за форматирование кода, постарался сделать его цветным, при этом слетели отступы. Если удобнее форматированный черно-белый текст - скажите, выложу. Или подскажите, как правильно выкладывать подсвеченный отформатированный SQL код.
 
PS2 Пишу в этот раздел форума, потому что задача не связана только с MS SQL и, возможно (надеюсь), решается разными способами.

Всего записей: 41 | Зарегистр. 06-07-2005 | Отправлено: 15:26 14-06-2019 | Исправлено: sqsqsq, 15:29 14-06-2019
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » MS SQL Автоматизация рассылки сторонних отчетов


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru