Как написать сервис опроса в SQL Server? - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть две таблицы employee и department.

Employee

Id, Name, JoiningDate, SpecialRegistrationDone, DepartmentId

Отдел

DepartmentId, Name

Есть специальный отдел с DepartmentId = 2 и Name = "AI".

Существует служба Java, которая отправляет данные в таблицы Employee и Department.

Теперь я должен написать службу опроса (частота опроса один раз в 15 минут), которая удовлетворяет условию

select e.* 
from Employee e
inner join Department d on e.DepartmentId = d.DepartmentId
                        and e.DepartmentId = 2
                        and e.JoiningDate > cast(GetDate() as date)
                        and e.specialRegistrationDone = 0

Если есть какие-либо записи, позвоните в веб-службу, скажем, http://specialdepartmentregistration/register и передайте там данные о сотруднике.

Один из способов написать - это написать Java-сервис, который опрашивает базу данных и выполняет этот запрос, получает результаты и вызывает веб-сервис для набора результатов.

Я смотрю в сторону, чтобы создать службу только на стороне SQL Server, которая выполняет запрос и вызывает веб-службу. Как я могу написать это? Возможно ли это даже в SQL Server 2014?

1 Ответ

1 голос
/ 19 апреля 2019

Вот способ сделать то, что вы пытаетесь достичь:

Шаг 1: Как запускать хранимую процедуру на сервере sql каждый час?

Шаг-2: Запишите бизнес-логику в хранимую процедуру для проверки данных

Шаг-3: Вызов / публикация в Интернетеобслуживание с интеграцией CLR, как обсуждено здесь

Или используйте SQL Server Service Broker

Не рекомендуется реализовывать способ, который вы планируете.База данных должна быть сосредоточена только на хранении данных.

Вместо этого у вас должна быть служба CRON, которая регулярно обращается к вашему приложению.А затем из приложения запросите базу данных и, при необходимости, отправьте сообщение в веб-службу.

Или запустите запланированную службу в вашем приложении, и ваше приложение сможет проверить БД, как указано выше. Quartz - это библиотека, которую вы можете использовать для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...