Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как отследить изменения в БД firebird / 22 сообщений из 22, страница 1 из 1
19.04.2018, 07:08
    #39632914
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
Доброго дня.

Можно ли как либо отслеживать добавление записей в БД?

А то создавать поток из которого будет посылаться каждую секунду запрос к БД с вопросом "добавилось?", не сильно рационально мне кажется.

Подскажите как красиво реализовать. Спасибо.
...
Рейтинг: 0 / 0
19.04.2018, 07:15
    #39632916
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
FB Events
...
Рейтинг: 0 / 0
19.04.2018, 10:18
    #39632986
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
FIL23,

Можно конечно по таймеру делать обновление данных, использовать R/O транзакцию, но более правильно - Event`ы.
...
Рейтинг: 0 / 0
19.04.2018, 10:22
    #39632993
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
нет золотой пули
event хорошо для изменений, которые происходят относительно редко
если изменения частые, это только зафлудит систему
и в этом случае гораздо лучше иметь таймерную стратегию

есть еще препятствие для евентов - им нужен отдельный порт. и если ваш сервер реально далеко, нужно и настроить этот порт на сервере, и сделать, чтобы этот порт был открыт от сервера до вас...
...
Рейтинг: 0 / 0
19.04.2018, 10:31
    #39633001
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
FIL23Можно ли как либо отслеживать добавление записей в БД?

А то создавать поток из которого будет посылаться каждую секунду запрос к БД с вопросом "добавилось?", не сильно рационально мне кажется.


Кстати - банальный вопрос - а зачем? Что это за задача такая, в которой постоянно нужно следить за изменениями? И еще - данные только добавляются? Ну и обьем данных какой - тоже интересно. Ежесекундно дочитывать на клиента 100500 записей - как-то грустно.
...
Рейтинг: 0 / 0
19.04.2018, 10:42
    #39633010
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
Эвент должен энэйблить кнопку "Обновить".

Если конфигурация сети такова, что эвенты "не доходят", то раз в * секунд опрашивать сервер на наличие флага "поменялось" (как на сервере этот флаг реализовать - отдельный вопрос), и снова лишь для того, чтобы энейблить волшебную кнопку.
И в отдельный трэд сие пихать ни к чему, достаточно в OnIdle (не всякий раз, а в случае, если после предыдущей проверки прошло более * сек).
...
Рейтинг: 0 / 0
19.04.2018, 10:55
    #39633018
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
чччДЭвент должен энэйблить кнопку "Обновить".

Если конфигурация сети такова, что эвенты "не доходят", то раз в * секунд опрашивать сервер на наличие флага "поменялось" (как на сервере этот флаг реализовать - отдельный вопрос), и снова лишь для того, чтобы энейблить волшебную кнопку.
И в отдельный трэд сие пихать ни к чему, достаточно в OnIdle (не всякий раз, а в случае, если после предыдущей проверки прошло более * сек).

А, не лишние свистопляски? Есть кнопка "Обновить" - появились сомнения, юзер жмякнул...
А так, ушёл он домой/обедать итд, а тут всё напрягается...

В тоже время, если это какой-либо мониторинг(те события валятся) - то именно надо видеть, что когда, и как можно раньше.
...
Рейтинг: 0 / 0
19.04.2018, 10:59
    #39633024
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
zinpub,

согласен, реально сия автоматизация в 99,999% нафик не нужна. Разве что отслеживать всякие там состояния для отображения на табло прилетов/вылетов и т.п.
...
Рейтинг: 0 / 0
19.04.2018, 11:20
    #39633045
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
чччДzinpub,

согласен, реально сия автоматизация в 99,999% нафик не нужна. Разве что отслеживать всякие там состояния для отображения на табло прилетов/вылетов и т.п.

Ну для табло - там 100-200 записей. И обновление по таймеру - самое то (раз в минуту). Я ТСа и спрашивал, что за задача и сколько данных.
...
Рейтинг: 0 / 0
19.04.2018, 11:47
    #39633065
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
DarkMasterКстати - банальный вопрос - а зачем? Что это за задача такая, в которой постоянно нужно
следить за изменениями?

Вангую очередной чятик, сделанный через жопу БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.04.2018, 13:40
    #39633154
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
>Для чего?

Программа будет вести лог в БД (такая задумка, т.к. событий не много).

БД пользуются 4 человека. (возможно будет и больше до 10).
БД используется как информационная и иногда обновляются или добавляются данные.
...
Рейтинг: 0 / 0
19.04.2018, 13:50
    #39633159
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
FIL23Программа будет вести лог в БД (такая задумка, т.к. событий не много).БД
пользуются 4 человека. (возможно будет и больше до 10).И теперь вопрос на засыпку:
назачем всем этим людям видеть обновление лога в режиме реального времени?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.04.2018, 13:57
    #39633162
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
им лог не нужен, но нужно знать, что кто-то что-то сделал. На самом деле не важно, это не интерпрайз программа, а так чисто для удобства работы.

Подумал я и порешал что с FB Events будет удобней. Я системный администратор, так что порты смогу пробросит если что.

И исходя из выше сказанного, может у кого есть ссылка на пример как это реализовать?

Спасибо.
...
Рейтинг: 0 / 0
19.04.2018, 14:01
    #39633166
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
...
Рейтинг: 0 / 0
19.04.2018, 14:12
    #39633175
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
в триггере на нужную операцию написать POST_EVENT ('SOMESTRING');
на форму поместить FDEventAlerter или SibFibEventAlerter в зависимости от...
вписать ему в список получаемых евентов SOMESTRING
и сделать Register
...
Рейтинг: 0 / 0
19.04.2018, 14:17
    #39633184
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
FIL23им лог не нужен, но нужно знать, что кто-то что-то сделал. На самом деле не важно, это не интерпрайз программа, а так чисто для удобства работы.

Подумал я и порешал что с FB Events будет удобней. Я системный администратор, так что порты смогу пробросит если что.

И исходя из выше сказанного, может у кого есть ссылка на пример как это реализовать?
...
У меня есть ссылка. Ищи статью "Логирование в базах данных Interbase (Firebird)".
...
Рейтинг: 0 / 0
19.04.2018, 20:30
    #39633408
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
>FDEventAlerter или SibFibEventAlerter

У меня D7 нету там этих компонент.

Зато есть IBEvents, погуглив в интернете нашел немного описания в книге Сорокина А. на 285ой странице.

Итог, получил желаемый результат.

Всем спасибо.
...
Рейтинг: 0 / 0
20.04.2018, 11:55
    #39633664
Barmaley57
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
"Зачем? Для чего? В 99% это нафиг не нужно..." (с)

Жизнь - сложная штука. Если у вас не было таких задач (предметных областей), то они обязательно будут у кого-нибудь другого.
...
Рейтинг: 0 / 0
20.04.2018, 12:31
    #39633697
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
Barmaley57"Зачем? Для чего? В 99% это нафиг не нужно..." (с)

Жизнь - сложная штука. Если у вас не было таких задач (предметных областей), то они обязательно будут у кого-нибудь другого.

Видишь, задача сильно уточнилась. Оказывается, не требуется отслеживать изменения в рилтайме, но требуется логировать эти изменения.

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

Вместо реализации такого логирования на сервере, тем более - при наличии готового инструмента (в IBExpert) как реализации механизма такого логирования, так и инструмента анализа лога.
...
Рейтинг: 0 / 0
20.04.2018, 12:53
    #39633715
Barmaley57
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
чччДВидишь, задача сильно уточниласьНо советов и сомнений, как всегда, успели высказать до уточнения задачи))
...
Рейтинг: 0 / 0
20.04.2018, 12:56
    #39633718
под ван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
А не проще сейчас на PostgreSQL уйти пока все винты сильно не закрутились? Там и клиент-сервер нормальный ,и бесплатно ,да и с одними только встроенными сообщениями можно такого накостылить что пользователи тебя за истиного колдуна считать начнут.
...
Рейтинг: 0 / 0
20.04.2018, 13:24
    #39633740
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить изменения в БД firebird
под ванА не проще сейчас на PostgreSQL уйти пока все винты сильно не закрутились? Там и клиент-сервер нормальный ,и бесплатно ,да и с одними только встроенными сообщениями можно такого накостылить что пользователи тебя за истиного колдуна считать начнут.
Ну ты тоже по пятницам все сообщения не читаешь, ага. А так - да, постгре самое оно. Постгре, потом майскуль, как в убере.
Пятница же ж.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как отследить изменения в БД firebird / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]