![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Теоретический вопрос про оффлайн-передачу данных [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
Удачи!