Захват предупрежден...
 
Уведомления
Очистить все

Захват предупреждений базы данных FDEventAlerter

1 Записи
1 Пользователи
0 Likes
480 Просмотры
83-150 Okolokompa Форум
(@telman)
Estimable Member
Присоединился: 4 года назад
Записи: 78
Создатель темы  

Я прошу у вас совета о том, как правильно настроить и запустить механизм оповещения для базы данных MS SQL Server 2008 с помощью FireDac (я работаю над Delphi XE7).
Соответствующий класс / компонент TFDEventAlerter находится там.

До сих пор я мог запускать оповещения, но я получал уведомление только во время «вставок» в таблицу. Команда update sql работает лучше, но предупреждение не генерирует.

ОТВЕТ:

Насколько я понимаю, вы хотели бы, чтобы MSSQL сообщал о своей операции самому себе. У меня недавно была похожая задача, и я просто решил проблему, используя уведомления, а не предупреждения.

На практике это выглядит так. Вы создаете свой тип, например, вы создаете сборки:

CREATE ASSEMBLY kbudpNotification
  AUTHORIZATION [dbo]
FROM 
  ...
WITH PERMISSION_SET = UNSAFE
GO

Здесь, конечно, при создании из какого-нибудь нормального редактора базы данных (например, EMS SQL Manager) выберите DLL, написанную на C #,
а затем введите:

CREATE TYPE dbo.kbudpNotification
EXTERNAL NAME kbudpNotification.kbudpNotification
GO

и только в той процедуре / триггере вы вызываете:

@ubr BIT = kbudpNotification::taskStatus();   

как следует из названия, мой kbudpNotification.dll отправляет информацию на определенный порт udp, в то время как taskStatus (), конечно же, является именем функции в DLL. Немного работы, но работает;)


   
Цитата
Поделиться: