Обмен данными между базами Галактики.

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Если речь только о МЦ то такой экспорт/импорт пишется и отлаживается за неделю. И работать будет надежнее корпы :)
sim
Местный житель
Сообщения: 1805
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Россия

Сообщение sim »

Да, и возможно даже для этого подойдет входящий в Прогресс модуль Обмен бизнес-документами. Импорт-экспорт каталога МЦ там есть, и фильтры выставить можно.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Вы говорите об обмене данными через файлы?

Хочется без всяких файлов - сразу положить во все базы новые МЦ.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Можно написать демона на Дельфях, который будет напрямую читать из БД каталог МЦ и проверять полноту его в остальных БД. Тогда без файлов, но через стороннюю программу.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Понятно! Спасибо за идеи!

А через триггеры реально сделать?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

А базы все на MSSQL? На разных серверах?
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Базы все на MS SQL. Скорее всего на одном сервере будут. 7.12 планируется.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Тогда легко триггерами.
Делается процедура синхронизации конкретной МЦ и вызывается в триггере t$katmc_U. Можно ее вызывать и в t$katmc_I, но скорее всего бессмысленно. Видимо придется ее же вызывать и из триггреров t$katotped и т.д. Вторая процедура будет идти по t$katmc и для каждой вызывать первую. Полная синхронизация.
С удалением (t$katmc_D) посложнее будет. Процедура будет несколько другая, но несложная.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

А может просто в триггрерах сразу прописать изменение/добавление/удаление в других базах?
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

hope писал(а):А может просто в триггрерах сразу прописать изменение/добавление/удаление в других базах?
нет, это ошибочное решение! Пишите отдельную процедуру и ее вызывайте в тригере одной строчкой! Иначе будете при малейшем изменении процедуры обмена переписывать все 3х3=9 тригеров, оно вам надо? :grin:
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Понятно! Спасибо ВСЕМ!

Нашли уже готовую программулину, в которой настраиваются правила синхронизации и она вроде как все без проблем синхронизирует - сейчас тестируем - может такой вариант нас устроит.
lStep
Новичок
Сообщения: 28
Зарегистрирован: 27 июл 2006, 16:49

Сообщение lStep »

Если можно выделить головную базу (A) для изменения каталогов, а в других каталоги руками не менять, то просто :
в A:
Select * from katmc to dbf d:\katmc;

в остальных:
Import katmc from DBF d:\katmc fsn;
// из DBF будут добавлены только новые


Import katmc from DBF d:\katmc fsn R;
// перебьёт совпадающие на то, что в DBF
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Сторонними программами не получилось сделлать - они не понимают тип COMP.

Все-таки придется писать обмен.

lStep! Как в в коде интерфейса запустить указанные вами запросы (выполнить запрос)?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

тип comp надо приводить к строке. в ASDK где-то читал, там показано как сделать.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

hope писал(а): lStep! Как в в коде интерфейса запустить указанные вами запросы (выполнить запрос)?
Посмотрите любой конвертер.
Ответить