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

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

Теоретический вопрос про оффлайн-передачу данных [D6, D7, MSSQL]


krotik ©   (2003-09-01 15:27:00) 

Здравствуйте, уважаемые !
Итак, раньше приходилось писать только простые клиент-серверные приложения в локальной сети. В принципе, я знаком (и имею небольшой практический опыт работы) с трехзвенной архитектурой.
Также знаком с проектированием веб-приложений.
НО !!! До сих пор во всех случаях передача данных была онлайновая, т.е. клиентская часть запрашивает серверную и получает в ответ только запрошенные данные, возможно в уже обработанном виде.
Теперь передо мной встала такая задача: часть клиентов не соединены с интернетом и лишь несколько раз за день могут связываться с серверной частью.
Вот подобного мне делать не приходилось, ведь клиентская часть должна все-равно видеть какие-то данные, пусть и актуальные несколько часов назад.
Получается, надо в эти периоды обновления тащить ВСЕ ДАННЫЕ с сервера на клиентскую часть ! Но это же бред.
Посоветуйте, пожалуйста с направлением, в котором копать, назовите технологию, а я уж сам поищу книги, или статьи в инете.
P.S.: БД у меня строго MS SQL 2000


KSergey   (2003-09-01 17:20:00) [1]

[5] Delirium © (01.09.03 16:19)
MS SQL 2000 предоставляет все средства для подобной репликации, читайте документацию и не изобретайте велосипед.


При условии установленного MS SQL на машине off-line клиента, верно? (ну или в сети его)
А есть ли такая возможность в данном случае? Вопрос.. Штука это весма монстроидальная... На мой взгляд, можно сделать менее ресурсоемкое решение, хотя, конечно, зависит от задачи...


Delirium   (2003-09-01 16:19:00) [2]

MS SQL 2000 предоставляет все средства для подобной репликации, читайте документацию и не изобретайте велосипед.


Serginio666   (2003-09-01 16:10:00) [3]

Нужно организовывать хранение измененных данных. Например создать таблицу хранящую ID отправленных данных , ID измененых данных и тип данных. ID отправленных данных нужно для удаления их только после получения поддтверждения их загрузки на удаленной БД. Новые данные записываются с нулевым ИД и при отправке прписываются ID большую на единицу от номера последней посылки данных. Так эже нужно давать приоритет при изменении одних и тех записей. При таком подходе передавать нужно только измененные данные и есть гарантия, что данные не потерялись в пути.

А хранилище данных для переноса данных тоже можно продумать либо потаблично.


krotik   (2003-09-01 16:08:00) [4]

Спасибо всем, теперь буду читать и копаться :)))))))))))))))))))))))


Nikolay M.   (2003-09-01 15:49:00) [5]

Знакомство с трехзвенкой есть - уже хорошо. Покопай в сторону Briefcase (портфель) в статьях про MIDAS и ClientDataSet.


MOA   (2003-09-01 15:46:00) [6]

Самому пользоватьт не довелось (филиал у нас накрылся), но может вот эти?
>назовите технологию
репликация (replication), MS Message Queuing
Удачи!


Наверх

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