Вниз
Скачать: CL | DM;

Оптимизация МИДАС.   Найти похожие ветки 

 
yaJohn ©   (2002-10-02 13:15) [0]

Есть МИДАС система. Одной таблице в БД соответствует множество ClientDataSet. Таблица достаточно жирная. Соответственно, при изменениях в одном ClientDataSet, остальным приходится делать refresh. Ну и возможна ситуация изменения таблицы в другом клиенте. А таблица жирная. Есть ли некая стандартная возможность обновлять не весь ClientDataSet, а лишь новые записи (вычислить новые/измененные я могу)? И грузить несколько ClientDataSet тоже не хочется. В принципе - достаточно один, остальные можно из него скопировать, но при этом у остальных должна остаться нормальная связь с Provider. Кто нибудь делал нечто в таком духе?
И еще одна беда. Предполагается использовать систему на нестабильной сети. Т.е. некоторые клиенты сидят на в соседних корпусах и связь с ними через УКВ. Но когда между корпусами проезжает грузовик... Соответственно система должна уметь восстанавливаться после разрыва соединения. Какие идеи по поводу
судьбы девочки, натоптавшей с полсотни записей в таблице, но ApplyUpdates не сказавшей? Нельзя бросать ее в беде! А делать ApplyUpdates на каждом Post тоже низя, девочка не работать будет, а песочными часиками на экране любоваться....

Понимаю, что вопросы абстрактные, но хотелось бы здравые мысли воплотить в жизнь еще на этапе проектирования.

Заранее спасибо.


 
Polevi ©   (2002-10-02 14:42) [1]

1. есть RefreshRecord для обновления нужной записи, правда реализация его в провайдере сделана очень криво - делается запрос к базе а потом запись находится с помощью Locate, у меня есть свой вариант провайдера, могу поделиться, если интересно

2. по поводу отложенного Apply не могу ничего сказать, у меня он делаеться сразу после Post, не знаю вашей специфики, но насчет песочных часов сомнения - послать дельту по сети не так уж проблематично.. у меня так полсотни человек с базой работают, все летает

я для себя сделал вывод что при работе с MIDAS каждая таблица в базе должна иметь PK поле, чего и вам советую




 
yaJohn ©   (2002-10-02 16:13) [2]

>меня есть свой вариант провайдера
Интересно. Если можно - на мыло плизс.


>у меня он делаеться сразу после Post
обновление таблицы может повлечь за собой автоматическое обновление еще парочки таблиц и т.д. Иногда это растет как снежный ком...


>каждая таблица в базе должна иметь PK поле
Мн... Какое поле??? У меня в каждой таблице есть поле обновляемое при каждой модификации данных(на стороне сервера аутоматычно) и только вверх. Значение - уникально по базе. Смотрим у клиента макс. значение сего поля, все что в базе имеет большие значения - нужно обновлять.



 
Polevi ©   (2002-10-02 18:13) [3]

письмо ушло



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.987 c
6-78581
B-Ars
2002-08-21 12:43
2002.10.24
Возможно ли узнать какие расшареные файлы открыты у меня другими


3-78306
POSNY
2002-10-01 15:16
2002.10.24
DBGrid и отображение логических полей таблиц


3-78243
Oleon
2002-09-30 12:22
2002.10.24
Здраствуйте. Как считать установленный в BDE LangDriver?


1-78341
novarm44
2002-10-12 01:33
2002.10.24
Использование SetBitmapBits с динамическим массивом


4-78743
Tihas
2002-09-07 17:48
2002.10.24
Помогите разабраться с вопросами, не проходите мимо.




   Наверх