Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите, пожалуйста, как при работе ;в сети нескольких [D6, IB6.x]


Страницы:   1 2

Larisa ©   (2002-10-02 11:16:00) 

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


Anatoly Podgoretsky   (2002-10-04 12:07:00) [1]

Sergey13 © (04.10.02 10:54)
Просто у них неверно построены алгоритмы, отсутствует как класс такое понятие как резервирование товара, обработка недопустимыз ситуаций при расходе и т.д.


Sergey13   (2002-10-04 11:59:00) [2]

А ты предлагаешь еще анализировать "А надо ли мне это?". Т.е. пробежаться по датасету и сказать "Неа, нафиг". Зачем вообще это делать? Именно так я ставлю вопрос.


Prooksius   (2002-10-04 11:47:00) [3]

2 Sergey13 © (04.10.02 11:36)
Ну тогда ваш Event-информатор просто глупо перечитывает Dataset-ы, поэтому и тормоза.
Не злись на него, а попроси еще подумать :)


Sergey13   (2002-10-04 11:36:00) [4]

2Prooksius © (04.10.02 11:19)
Да в принципе можно. Длина мессаджа то ли 1500 то ли 1800 символов максимально - не помню точно. Чего ты туда напишешь - твое дело.


Prooksius   (2002-10-04 11:19:00) [5]

2 Sergey13 © (04.10.02 10:54)
Просвети, плииз, интересно, в Оракле события с параметрами, или, как в Interbase, только одна строчка?
Т.е. можно ли по событию определить, какая именно строчка в табл. была изменена?


Sergey13   (2002-10-04 10:54:00) [6]

И все таки такой подход к Event-ам не правилен с теоретической точки зрения. ИМХО. Все задающие такие вопросы, как правило, боятся исключительных ситуаций, когда чего то не хватит для транзакции. Товар со склада уже ушел весь, а на него еще расход вешают - самый распространенный пример.
Тут есть два варианта:
1.Список товаров маленький, а число пользователей сопоставимо большой. 10 менеджеров продают 10 сортов мороженого например. В этом случае то что на складе не осталось какго-то конкретного сорта - это исключительная ситуация, но в широком смысле этого слова. Что это за компания, выпускающая 10 товаров и не обеспечивающая достаточное количество их на складе. Нонсенс.
2.Список товаров большой, число пользователей нет. 10 менеджеров продают 10000 видов канцтоваров. В этом случае вероятность того, что несколько человек ОДНОВРЕМЕННО работают с одним товаром настолько мала, что обрабатывать каждый их тык для всех остальных - просто глупо.

К обоим случаям - не всякое изменение данных критично для других пользователей. Какая разница менеджеру скольео в графе наличие - 10000 или 9825, если средняя партия отпуска 50~100 штук.

В общем - исключительные ситуации надо и обрабатывать как исключительные ситуации, а не перестраховываться постоянно. Накладно больно получается.

А Event-ы уместны для другого, ИМХО. Например сообщить кладовщику, что клиент оплатил товар и сейчас придет за товаром - готовь по этому списку.

Что то я расписался. Но наболело - я вот борюсь с таким Event-информатором на работе. Задолбал козел. Как его прога(склады как раз) начинает работать - тормоза по всей базе(хотя и оракл на дуал Р3). Гад - однозначно.


Prooksius   (2002-10-03 13:12:00) [7]

2 Digitman © (03.10.02 12:11)
Да да, я чуть не туда посмотрел. Согласен я с тобой :)


Digitman   (2002-10-03 12:11:00) [8]

>Prooksius

Так ведь и я сказал, что это реализуемо !


Prooksius   (2002-10-03 11:40:00) [9]

Блин, что это я написал... %)

2 Digitman © (03.10.02 11:31)
Я просто хочу сказать, что все это реализуется, да сложно, но реализуется. И отказываться от этой затеи нельзя, IMHO.


Prooksius   (2002-10-03 11:38:00) [10]

2 Digitman © (03.10.02 11:31)
Да с его словами "В принципе это реализуемо. " :)


Digitman   (2002-10-03 11:31:00) [11]

>Prooksius


> Ну не согласен я с Digitman


В чем не согласен-то ? Поясни, я не понял.


AlexSam   (2002-10-03 11:12:00) [12]

Наверное, все зависит от задачи...
Если оперативность вывода информации на экран не нужна, то вариант Desdechado, если необходима - мой...


Prooksius   (2002-10-03 11:07:00) [13]

2 AlexSam (03.10.02 11:05)
Это и ежу понятно. Ты попробуй поработай, если у тебя 30 юзеров одновременно меняют одну таблицу.

Посмотри что писал Desdechado © (03.10.02 10:43)


AlexSam   (2002-10-03 11:05:00) [14]

Если кол-во редактируемых таблиц ограничено то механизм реализуется след. шагами
1. К редактируемым таблицам прицепляются триггереры на INSERT,UPDATE,DELETE со строкой "post_evant "update" ".
2. В приложение устанавливается компонент IBEvants.
3. В событии OnEvantAlert ставится процедура обновления набора данных.

И все!!! У меня прекрасно ЭТО работает.


Anatoly Podgoretsky   (2002-10-03 10:52:00) [15]

Добавить дергание отображения, можно избежать, тормоза на получения нового набора данных, а нафиг он нужен и прочее


Prooksius   (2002-10-03 10:52:00) [16]

2 Desdechado © (03.10.02 10:43)
Решений этого много.
Например, рефрешить через определенный интервал (не сразу по приходу сообщений) или когда соберется определенное их количество.
Рефрешить в моменты, когда юзер ничего не делает.
В конце концов так разделять работу клиентов, чтобы такого не происходило.
Да, конечно параметры в евентах нужны, как воздух...
Ну нет их и все тут.


Desdechado   (2002-10-03 10:43:00) [17]

Лучше, имхо, пусть юзер сам по кнопке обновляет.
А то представьте ситуацию: 10 человек работают с БД, каждый вносит 2 изменения в минуту. Так у всех все время будет уходить не на работу, а на чтение изменений, которые ему, может, и не нужны (ну работает он с данными таблицы, но с другими!). Зачем все это?


Prooksius   (2002-10-03 10:03:00) [18]

Ну не согласен я с Digitman
Да, событийный механизм в IB ограничен, но все равно можно что-то сделать.
У меня работает. В сети.
Пробуйте, народ!


Johnny Smith   (2002-10-03 09:59:00) [19]

2Sergey13 © (03.10.02 09:17)
Блин, заставил самого искать.
Вот, что значит грамотная организация! :))))
Главное, чтоб не заставил самого написать :)))


Sergey13   (2002-10-03 09:17:00) [20]

2VictorT © (02.10.02 12:45)
>А линк дать можешь?
Линк на что?
1.На мое мнение? Адрес в анкете.
2.На такую же ветку? http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1033133967&n=1
Блин, заставил самого искать.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо