Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder 2

Модерирует : ShIvADeSt

ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

   

Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые, давайте будем внимательнее друг к другу...
 
xy
Внимательно прочитал обсуждение твоего вопроса. Складывается ощущение, что ты просто нечетко его сформулировал.  
Попробую описать свой способ решения подобных задач. При условии, что я правильно тебя понял
 
Есть замечательная штука - Firebird embedded. Включаем его в клиентский дистрибутив вместе с актуальной базой. В справочники, например, добавляем поля Created и Modified (timestamp). И не забываем подгружать с сервера обновления. Автоматом или по нажатию кнопки - не принципиально.
 
В итоге может получиться едва ли не полноценная репликация, конечно. Но пользователь не зависит от доступности и скорости сети. Если не ошибаюсь, подобный подход называется "briefcase model".

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 15:17 12-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur, зачем такие сложности? А обратно ведь данные тоже гнать нужно и разруливать конфликты между "посылками" от разных клиентов. Это сервер приложений с репликатором получается. Только при чем тут Firebird embedded...
Чем не нравится ClientDataSet, тем более, что Фибы умеют работать в таком режиме?

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 15:33 12-09-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeBS
Теперь нашел? Просто я намекал на специфику формулирования ответов на sql.ru.
Теперь по поводу многозвенки. Я же не зря упомянул локальную буферизацию. Например есть ряд приложений, работающих в локалке на сотке с базой ~20ГБ, здесь классический клиент-сервер о котором тут столько шумят. Все было бы хорошо, но еще присутствует ряд клиентов сидящих на узком, кривом канале и за время выполнения запроса к БД "напрямую"(1-2 сек) соединение "падает" в 15-20 случаях из 100. Для этих клиентов создан сервер приложений, который помимо всего прочего реализует передачу(по запросу с клиента) данных которые были изменены В БД с момента предыдущего запроса, а клиент их локально буферизирует.
Клиент есть? Сервер приложений есть? Сервер БД есть? Чем не многозвенка
 
Добавлено:
Извиняюсь, пока обедал, тут уже все обсудилиArvur и
Sexton

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 15:41 12-09-2006 | Исправлено: OXDBA, 15:45 12-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
waik
Этот визард уже как-то пытались искать - и тщетно...  
То ли борландовцы его специально убрали (вот только зачем?), то ли забыли.
Кстати, видимо туда же делся визард создания ActiveX контрола - осталась только Active Form

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 16:29 12-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sexton
Arvur
Ок подход я понял и главное, что всё равно всё надо делать ручками, несмотря на распространенность проблемы :)
 
Спасибо за внимание

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 16:31 12-09-2006
SergeBS



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA

Цитата:
Просто я намекал на специфику формулирования ответов на sql.ru.  

Да брось. Никакой особой специфики. Разве что вопросы совсем на F1. Я потому там и свечусь редко - пару раз пошумел мало-мало, на Подгорецкого слегка про ADO наехал .
 

Цитата:
создан сервер приложений, который помимо всего прочего реализует передачу(по запросу с клиента) данных которые были  

Не помню как в Fb, а в MS SQL на такое есть репликация сервер-мастер - сервер-слейв. И просто их повязать между собой. У тебя случайно не так? Когда мне чуть не устроили такое "счастье", я туда полез. Но обошлось - посетителей оказалось мало - 3-5 в день, так что там на бумажку, а потом в контору и оформлять .  
 
=============
2All
Я что-то совсем перестаю понимать

Цитата:
 
1мб данных (5тыс больших записей)  
 

т.е. в 1 записи 200 байт. Ладно. Будем считать ее большой .
Только вот зачем они все сразу на клиенте? Был уже подобный тред, где заказчик-"аналитик" хотел какие-то бешеные выборки. Вылечилось калькулятором. Тут так же: пусть 1 сек. - посмотреть на запись - 1 ч. 23 мин. на 5000. Только на "посмотреть".  Т.е. сразу они точно не нужны.
В ADO есть CursorLocation - useClient, CacheSize - по вкусу в записях. Все. В Фибах наверняка тоже похожее есть (ну не помню, а открывать лень).
И сеть странная: около 30кбит пропускная. Модемная, что ли?  
 

Всего записей: 272 | Зарегистр. 19-04-2005 | Отправлено: 17:06 12-09-2006
Figaro2000

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy

Цитата:
я же работаю с ситуацией, когда 1мб данных (5тыс больших записей) передается по сети секунд 5-10, согласитесь на мгновенность не тянет  

 
Если это ограничение сетевого оборудования, то первое, что приходит в голову - трехзвенка со сжатием трафика между клиентом и app-сервером (я в таком случае использовал kbmMW + FastZLib). Напрягает сервер, но резко разгружает трафик.

Всего записей: 245 | Зарегистр. 24-09-2005 | Отправлено: 17:22 12-09-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeBS
Ладно шуметь xy уже вопрос снял

Цитата:
Не помню как в Fb, а в MS SQL на такое есть репликация сервер-мастер - сервер-слейв. И просто их повязать между собой. У тебя случайно не так? Когда мне чуть не устроили такое "счастье", я туда полез. Но обошлось - посетителей оказалось мало - 3-5 в день, так что там на бумажку, а потом в контору и оформлят

Нет, не совсем так, но ладно не будем флудить.
Репликация это хорошо(особенно когда у тебя PK - GUID ), но репликация в FB, да еще базы спроектированной без учета репликации, это отдельная тема, если кому интересно можно поднять.

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 17:33 12-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sexton

Цитата:
Arvur, зачем такие сложности?

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

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 18:53 12-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur, я не спорю с необходимостью решения такой проблемы. Я удивлен способом (сложностью) решения.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 18:58 12-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sexton
А в чем по-твоему сложность? В такой схеме можно использовать одну базу и модули и для клиента и для сервера. Имхо сплошная экономия

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 19:14 12-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur, сложность в реализации: постоянные конкурентные репликации в реальном времени. Право, мне кажется проще грамотно настроить FIBPlus для работы в режиме ClientDataSet.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 19:32 12-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sexton
Я может плохо доки по фибам помню... Клиент "в режиме ClientDataSet" сможет стартовать при отсутствии коннекта к серверу?

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 21:45 12-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
х Прошу прощения, вопрос исчерпан ъ

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 23:40 12-09-2006 | Исправлено: xy, 00:09 13-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy, какой вопрос?
Arvur, так речь идет о нестабильном коннекте к серверу или об его отсутствии? Если о первом, то уж на старте мы можем ожидать коннекта, а если о втором, то есть натуральный TClientDataSet с файловым кешем и аналоги.
Репликация имеет смысл между многопользовательскими базами. Для однопользовательских вариантов работы есть более простые решения ИМХО.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 05:50 13-09-2006
AlexSYS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите комп. для отображения иерархических данных на подобе как в проводнике в правой части.

Всего записей: 131 | Зарегистр. 19-11-2002 | Отправлено: 07:30 13-09-2006
Figaro2000

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSYS
вопрос уточни - откуда данные берутся? из БД или произвольные объекты? чем обычный TreeView не устраивает?

Всего записей: 245 | Зарегистр. 24-09-2005 | Отправлено: 08:13 13-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSYS, иерархические данные отображаются в проводнике по умолчанию в левой части, разве нет? Хотя, конечно, смотря с какой стороны смотреть.
По теме: если для работы с файловой системой, то можно посмотреть Shell+. Если для работы с базой, то, например, ExpressDBTree.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 08:22 13-09-2006
MKalavera



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy
Может поможет:  
CoreLab IBDAC

Цитата:

property SmartRefresh: Boolean;
Description
Set SmartRefresh property to True to let TIBCQuery components work in concurrent environment. Applications which use TIBCQuery may notify each other about their activity on a shared database and be updated each time the database gets modified.
Setting SmartRefresh property to False indicates that concurrent connections will refresh their datasets on their own.

Сам не пробовал, деталей не знаю.

Всего записей: 512 | Зарегистр. 03-11-2003 | Отправлено: 11:26 13-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sexton

Цитата:
Если о первом, то уж на старте мы можем ожидать коннекта, а если о втором, то есть натуральный TClientDataSet с файловым кешем и аналоги.  

Где-то ты не прав, по-моему.
Имхо пользователь должен просто начинать работать, а не ждать у моря погоды... А нафига мне файловый кэш, если я могу взять уже готовые базу и модули?!

Цитата:
Репликация имеет смысл между многопользовательскими базами.

Это ты к чему? Количество пользователей роли не играет.
"Репликация (синхронизация) - процесс приведения данных электронных таблиц двух БД в идентичное состояние" (с) iBase.ru
 
З.Ы. Я согласен, что репликация = геморрой. Но "более простые решения" хотелось бы видеть вместе с аргументацией их выгодности.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 12:24 13-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder 2
ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru