Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление таблиц при изменении базы другим пользователем / 9 сообщений из 9, страница 1 из 1
01.03.2003, 01:43
    #32113080
Zorx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
А кто как выкручивается если нужно обновлять таблички в куче форм при изменении базы другим пользователем?
Какие есть пути решения...

Хотелось бы автоматом =) но это не реально =(

ЗЫ
Dynamic cursor - нет букмарков =( соответственно нет DBGrid'ов
...
Рейтинг: 0 / 0
01.03.2003, 02:05
    #32113081
Zorx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
...
Рейтинг: 0 / 0
01.03.2003, 03:37
    #32113086
Виктор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
Ты какую СУБД используешь, MSSQL ?
Я работаю с Oracle, и там такие вещи давным давно решены :-)
Переходи на Oracle .
...
Рейтинг: 0 / 0
01.03.2003, 13:07
    #32113117
Zorx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
ok как это в оракле решено..
можно поподробнее
...
Рейтинг: 0 / 0
03.03.2003, 02:48
    #32113348
Виктор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
В Oracle существуют два встроенных модуля, предназначенных для взаимодействия между соединениями, или сеансами (sessions). Это модули DBMS_PIPE и DBMS_ALERT. Также есть модуль Advanced Queuing (AQ).

У меня сделано на DBMS_ALERT.
Для отслеживания изменения таблички в триггере на эту табличку делаем посылку сообщения DBMS_ALERT.SIGNAL
На клиентах регистрируем заинтересованность в оповещении и на приход оповещения вещаем refresh набора данных.
С PIPE и AQ можно также это сделать, но там всё навороченнее, для более сложных задач.
А еще подробнее можешь в хелпе почитать :-)
...
Рейтинг: 0 / 0
03.03.2003, 10:38
    #32113429
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
Я вот только не понимаю - зачем все эти оповещения? Трафика не жалко с сервером? Каждый раз всем клиентам refresh делать - не слабая нагрузочка. А если я открыл 10 форм и курить ушел на два часа - а у меня тут все обновляется, ворочается. Смешно!
...
Рейтинг: 0 / 0
03.03.2003, 20:41
    #32113941
Zorx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
Вот и я об этом думал... жалко однако... сделал кнопку рефреш =)
...
Рейтинг: 0 / 0
04.03.2003, 02:14
    #32113983
Виктор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
Про траффик - это верно, стало его жалко. Поэтому сделал так - рефрешится только активная форма справочника и только в том случае, если фокус находится в этом приложении.
Ну и плюс дополнительная кнопка Обновить :-))
По желанию можно отключить автоматическое обновление, и пользоваться кнопкой.
...
Рейтинг: 0 / 0
05.03.2003, 12:18
    #32114751
Aleksei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление таблиц при изменении базы другим пользователем
Такая же была проблема.
Я лично пошол по такому пути:
1) Создал кнопку "Обновить" (при нажитии которой выполняется Refreh)
2)Поставил компонент Timer (который через нужный мне интервал времени
эмитирует нажатие кнопки "Обновить" Button1.OnCliсk(Form1))
3)Перед тем как изменять данные в БД опять иметирую нажатие
кнопки "Обновить"

Что касается таймера- его можно и выключить.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление таблиц при изменении базы другим пользователем / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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