powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как отследить изменения в БД firebird
22 сообщений из 22, страница 1 из 1
Как отследить изменения в БД firebird
    #39632914
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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