Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Базы данных > отследить изменения в БД |
Автор: neosapient 6.9.2007, 13:24 |
К БД подключены источник данных и приемник. Мне надо как можно быстрее получить информацию о том, где и какая ячейка изменена. Идея проверять БД каждую милисекунду и сравнивать с прошлым состоянием хранящимся в памяти мне не подходит. Как решить проблему? |
Автор: Anark1 6.9.2007, 13:34 |
Триггер. |
Автор: neosapient 6.9.2007, 13:55 |
по подробнее как использовать триггер + в данной ситуации |
Автор: Anark1 6.9.2007, 15:04 | ||
Я не работал с MS ACCESS. Поэтому приведу пример для InterBase SQL Server (надеюсь в ACCESS реализована поддержка триггеров). Триггер - это ХП, выполняемая сервером автоматически, как реакция на событие.
мы создаем триггер Examp_Trg для таблицы Examp_Table, который имеет нулевую приоритетность (порядок выполнения, если существует несколько триггеров) и активируется после модификации записей. Чтобы проверить какое поле было отредактировано используются контекстные переменные OLD и NEW. |
Автор: neosapient 6.9.2007, 16:40 |
Увы, как показал поиск Access не поддерживает триггеры |
Автор: Anark1 6.9.2007, 21:24 |
neosapient, забей на это убожество (MS ACCESS) ! Ставь что нибудь посерьезнее ... Или скажи что поддерживает ACCESS. Потому что я так сразу даже и не знаю как еще можно реализовать поставленную задачу. Как вариант - написать сервер, который бы обрабатывал все транзакции к БД. |