![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Синхронизация баз данных [D7, IB6.x, FB]
carmen © (2005-06-02 09:41:00)Суть вопроса в следующем. Я пишу АРМы для водоканала, РЭС, ЖЭК. Программы работают нормально и писались изначально только для местных организаций. Но на самом деле вышло намного лучше, программы были установленны еще в 3-7 (в зависимости о оргинизаций) районах области. Сейчас стала задача имея сервер в области получать данные из районов. Все базы почты идентичны. Имееются таки таблицы как: начисления (автоматически заносяться данные о нормах и суме начисления, а также в ручную коректировки), точки учета (информация о видах начисления), оплата (информация о оплате), сальдо (сальдо абонента на начало текущего месяца) и другие (не большого размера). Названные таблицы имеют большой размер.
Вопрос 1Как можно синхронизированть данные с машины в районе и на машине в области.
Вопрос 2 (не по теме)Может еще кто-то пишет подобные программы, хотелось бы пообщаться.
Заранее благодарен
Anatoly Podgoretsky (2005-06-06 11:59:00) [21]by © (06.06.05 11:40) [24]
Неправильно написаное приложение, не умеет работать в режиме портфеля.
by (2005-06-06 11:40:00) [22]Desdechado © (06.06.05 11:15) [23]
Да вопрос филосовский )
Я просто говорю исходя из опыта работы со стороны филиала. Какие-то проблемы - сидим, денег принять в кассу не можем. А клиентам то пофигу что у нас за проблемы, они сердятся.
А если в общем, то я считаю так - если не критично по времени работы, то можно и сервер приложений (или терминал, что даже лучше), а иначе - нужно подумать о каком то локальном буфере.
Desdechado (2005-06-06 11:15:00) [23]2 by
вопрос философский
UPS поставить, резервный генератор в конце концов, ибо что это за сервер такой без них?
А в филиалах электричество не пропадает? Они лучше центрального офиса живут?
Каналы связи сейчас не часто падают. А упал - копайся в бумажках. Всегда есть, чем заняться помимо компьютерной обработки.
А по поводу переладывания проблем. Если пользователь надеется, что программа будет работать сама и всегда, то такого не случится. Должны быть у него голова и руки, и никакой программист их не заменит.
Carmen (2005-06-06 10:28:00) [24]Все должно работать автоматом, юзер нажал на одну кнопку, комп набрал модемом номер, завязался с сервером, передал данные, разорвал соединение. Юзеру незачем знать что машина делает чтобы передать данные.
by (2005-06-05 23:45:00) [25]Desdechado © (05.06.05 20:16) [17]
посмотреть в сторону укрупнения
Этими вариантами мы перекладываем решение проблемы от программистов на пользователей.
Да, написать такое приложение легче. Но что делать если упал канал связи? Что делать если в головном офисе в здании отключили электричество? И все филиалы курят бамбук?
Так что тут компромис между тем кому легче жить - программисту во время написания ПО или пользователю - во время пользования ПО.
Anatoly Podgoretsky (2005-06-05 22:45:00) [26]Оба вариант не требовательны к ресурсам.
Desdechado (2005-06-05 22:40:00) [27]вариант 1 не требует надежных линий связи, а вариант 2 - высокоскоростных (модем 33600 вполне пару сессий тянет)
это уж у кого что есть ;)
Zacho (2005-06-05 20:43:00) [28]Desdechado © (05.06.05 20:16) [17]
Ага. И мегабаксы на выскоскоростные и надёжные линии связи :)
Desdechado (2005-06-05 20:16:00) [29]рекомендую посмотреть в сторону укрупнения. варианты:
1. один сервер СУБД, один сервер приложений, много клиентов
2. один сервер СУБД, один терминальный сервер, много терминальных клиентских сессий
тогда никакого головняка с репликациями, единое место администрирования, легкость обновления структуры БД и рабочих мест
cherrex (2005-06-04 13:36:00) [30]В свое время я эте проблему решил следуещим образом:
я создавал с помощью IBExpert таблицы и тригеры для ведения лога;
пом создавал базу (например отчет.gdb) и заносил туда данные из лог таблиц;
пересылал по TFTP отчет.gdb;
а на приемнике формировал SQL запросы основываясь на лог таблицы.
Sergey13 (2005-06-02 15:52:00) [31]2[14] Carmen © (02.06.05 15:48)
Дык ты уже на ём. 8-)
Ну на sql.ru сходи еще.
Carmen (2005-06-02 15:48:00) [32]Может имеются форумы или сайты для АРМовцев.
Sergey13 (2005-06-02 15:23:00) [33]2[12] Carmen © (02.06.05 15:11)
>А по второму вопросу ничего????
>Вопрос 2 (не по теме)Может еще кто-то пишет подобные программы, хотелось бы пообщаться.
Так ты уже с ними общаешься. Не заметил? 8-)
Carmen (2005-06-02 15:11:00) [34]А по второму вопросу ничего????
Yurij-7 (2005-06-02 14:49:00) [35]За основу можно взять принцып обмена файлами между Центробанком и банками.
Carmen (2005-06-02 13:35:00) [36]Я склоняюсь к варианту обновления только сальда, суммы оплаты (общей)и суммы начисления (опять же общей)
ЮЮ (2005-06-02 11:22:00) [37]А зачем в области иметь внутреннюю кухню районов?
Они что, повторно все пересчитываю и проверяют?
Лучше предложи областной прект для учета укрупненных показателей районов, при этом данные в область должны будут передваться в специальном формате, которая твоя программа будет поддерживать. Тогда и все районам, а не только нескольким, придется заинтересоватьсяы твоей программой?
Carmen (2005-06-02 11:14:00) [38]Программа и база изначально писались только на одну организация, и никто немог подумать о такой распространенности программы.
Справочники обновляются очень редко. В основном изменеются таблицы с оплатой, субсидиями (один раз в конце месяца), точки учета, показания счетчиков и коректировки начислений. Начисления автоматом расчитываются на основание выше упомянутых таблиц и заносятся (при этом имеющиеся автоматические начисления в базе за этот месяц удаляются) в таблице начислений.
Sergey13 (2005-06-02 10:59:00) [39]2[4] carmen © (02.06.05 10:53)
>Нужно чтобы база в районе и база на сервере были идентичны.
Это утопия, если инфу вводят постоянно и там и там. Особенно справочники.
Тебе надо, прочитав как можно больше про репликацию, сесть и подумать над структурой БД. Если репликация ранее в проекте не учитывалась, то скорее всего ее придестя значительно дорабатывать.
ИМХО.
liver (2005-06-02 10:57:00) [40]упс, сорри, не заметил что про IB6.x, FB вопрос :)
все о MSSQL думаю :)