Таблица MySQL монитора для изменений в рамках программы C#?

Действительно ли возможно контролировать mysql таблицу для изменений в рамках c# приложения? Я в основном хочу, чтобы событие было повышено, когда данные вставляются в таблицу. Единственная вещь, о которой я могу думать теперь, состоит в том, чтобы запросить таблицу каждые 100 мс или около этого.

9
задан Brian 21 April 2010 в 08:58
поделиться

1 ответ

Если приложение и сервер базы данных находятся на одном компьютере, вы можете настроить триггер в MySQL, который будет записывать в файл журнала ПОСЛЕ ВСТАВКИ , ОБНОВЛЕНИЕ и затем создайте FileSystemWatcher для просмотра этого файла журнала. FileSystemWatcher инициирует события при изменении файла , на которые ваше приложение может реагировать.

Триггер может выглядеть примерно так:

create trigger MyTable_Monitor
after insert, update on MyTable
for each row
begin
select * from new into outfile "path/to/table.log"
end

Одна проблема, которую я вижу в приведенном выше коде, заключается в том, что файл вывода не может быть добавлен (насколько я могу судить), поэтому могут возникнуть проблемы, если за один вызов выполняется несколько запросов. (или даже несколько запросов, выполняемых одновременно разными клиентами). Любые предложения по улучшению приветствуются.

3
ответ дан 3 November 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: