Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синхронизация данных, стандартные методы 
:(
    Опции темы
jsj
Дата 2.7.2011, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Доброго времени суток.

В программировании БД - новичок)
Есть задача - реализовать программу на базе фб с удаленным сервером.

Основной вопрос у меня - как обычно/удобно/эффективнее синхронизировать данные?

Т.е. один клиент изменил запись, как эффективнее об этом узнать остальным клиентам?

(Рассматриваю вариант, без программной надстройки над сервером фб.)
PM MAIL   Вверх
Gluttton
Дата 2.7.2011, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Цитата(jsj @  2.7.2011,  01:35 Найти цитируемый пост)

Т.е. один клиент изменил запись, как эффективнее об этом узнать остальным клиентам?

Судя по всему в Firebird для этого есть event'ы, но мне с ними сталкиваться не приходилось.



--------------------
Слава Україні!
PM MAIL   Вверх
Akella
Дата 2.7.2011, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(jsj @  2.7.2011,  01:35 Найти цитируемый пост)
Т.е. один клиент изменил запись, как эффективнее об этом узнать остальным клиентам?

Будь очень осторожен, т.к. если один клиент изменит в цикле 1000 записей, то другим клиент придёт 1000 сообщений, а если клиентов штук 30? Сервер должен разослать 30 тысяч сообщений? О_о

Лучше по таймеру проверять и на форме (в окне или в области уведомлений ОС) показывать сообщение и/или кнопку с текстом "Есть новые записи" и клиенты пусть сами думают, нажимать или нет?
PM MAIL   Вверх
jsj
Дата 2.7.2011, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Цитата(Akella @ 2.7.2011,  09:06)
Цитата(jsj @  2.7.2011,  01:35 Найти цитируемый пост)
Т.е. один клиент изменил запись, как эффективнее об этом узнать остальным клиентам?

Будь очень осторожен, т.к. если один клиент изменит в цикле 1000 записей, то другим клиент придёт 1000 сообщений, а если клиентов штук 30? Сервер должен разослать 30 тысяч сообщений? О_о

Лучше по таймеру проверять и на форме (в окне или в области уведомлений ОС) показывать сообщение и/или кнопку с текстом "Есть новые записи" и клиенты пусть сами думают, нажимать или нет?

Ок, т.е. все равно по таймеру, но делать select ?
Или есть другой механизм?
PM MAIL   Вверх
Frees
Дата 2.7.2011, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(Akella @  2.7.2011,  12:06 Найти цитируемый пост)
Будь очень осторожен, т.к. если один клиент изменит в цикле 1000 записей, то другим клиент придёт 1000 сообщений, а если клиентов штук 30? Сервер должен разослать 30 тысяч сообщений? О_о

это в том случае, если каждое изменение было в своей транзакции.


Цитата(Akella @  2.7.2011,  12:06 Найти цитируемый пост)
Лучше по таймеру проверять и на форме (в окне или в области уведомлений ОС) показывать сообщение и/или кнопку с текстом "Есть новые записи" и клиенты пусть сами думают, нажимать или нет?

дак при получении евента кнопку и показывать, зачем таймер?

Добавлено через 1 минуту и 12 секунд
Цитата(jsj @  2.7.2011,  14:17 Найти цитируемый пост)
Или есть другой механизм?

механизм POST EVENT


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
jsj
Дата 3.7.2011, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Цитата(Frees @  2.7.2011,  20:44 Найти цитируемый пост)
механизм POST EVENT 


посмотрел пост_евент, я так понял можно посылать только константу строковую,
а можно как-нибудь передать например номер айди(поле) добавленной записи?
PM MAIL   Вверх
Frees
Дата 3.7.2011, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(jsj @  3.7.2011,  20:10 Найти цитируемый пост)
посмотрел пост_евент, я так понял можно посылать только константу строковую,а можно как-нибудь передать например номер айди(поле) добавленной записи?

Нет, только константную строку, 


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
jsj
Дата 3.7.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.3.2009

Репутация: нет
Всего: нет



Цитата(Frees @  3.7.2011,  21:57 Найти цитируемый пост)
Нет, только константную строку,

Ясно - спасибо - чтож думаю и так разрулимся )))
PM MAIL   Вверх
Akella
Дата 4.7.2011, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Создай временную таблицу или хранимую процедуру или ещё что-нить придумай. Туда пиши нужный ID и отправляй строковую константу. П клиент при получении события знает, что нужно проверить таблицу и там узнать ID. Есть глобальные переменные ещё, но они отдельные, для для каждого клиента своё значение переменной, хоть и имя переменной одинаковое.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0929 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.