Страница 1 из 3

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

Добавлено: 11 дек 2008, 09:29
hope
Добрый день, Всем!!!!

Можно в Галактике сделать следующую вещь: есть, например, три Галактики-Прогресс, в одну из них заводим МЦ и эта МЦ должна автоматом добавиться в две другие Галактики.

Надо чтобы автоматом или кто-то будет инициировать в первой базе добавление МЦ в две другие базы. Возможно такое?

Добавлено: 11 дек 2008, 10:03
Алексей
Corpo

Добавлено: 11 дек 2008, 10:53
hope
В Галактике-Прогресс нет Corpo. Поэтому надо самим это дело организовать.

Добавлено: 11 дек 2008, 11:25
Den
Как я понимаю, прогресс на битриве...

1. Самое оптимальное написать программку на внешнем каком-нить средстве которая бы периодически сканерила каталог основновной БД по отношению к синхронизируемым базам и определяла бы новые МЦ (например, по name+barkod) и засовывала бы новые мц в те базы.
2. Примерно тоже можно на Атлантисе сделать, но там манипуляций много . Одновременно нужно выгужать, например в тот же дбф-чик, katmc из 3-х разхных баз, сравнивать как то их и засовывать обратно новые.
3. Как то на форуме, помнится, писали функцию атлантическую именно для битрива, которая позволяла открывать таблицу из другой БД. Только вот не помню, для всех режимов она открывала или только на чтение..

Добавлено: 11 дек 2008, 11:30
Алексей
а у прогресса что какой-то свой ЕХЕ, или специальная лицензия, отличающаяся от других?

Добавлено: 11 дек 2008, 11:48
hope
Прогресс на MS SQL.
У Прогресса, говорят, лицензия своя и еще 1-2 файла отличаются от большой Галактики.

Добавлено: 11 дек 2008, 11:52
Алексей
СуБД не важно какая. Главно как "обрезана" функциональность. Если банально лицензиями - то просто купите "корпо" и наладите нормальный обмен.

А вам обновлять надо только каталог МЦ? Если да, то покупка "корпо" - овчинка выделки не стОит. Проще написать сторонную прогу.

Добавлено: 11 дек 2008, 11:58
Den
Ну если скуль, то можно попробовать порулить в триггере t$katmc_I

Добавлено: 11 дек 2008, 12:12
m0p3e
остальные триггеры тоже понадобятся. :)

А для первасива есть:
====================================
function ReopenTableByPath (iTable : integer;
newPath : string
) : integer;
Параметры

iTable - номер узла в логической таблице. Доступны константы типа tn<имя таблицы> (символы tn перед именем позволяют взять номер от имени таблицы).

newPath - новый путь.

Возвращаемое значение

Функция возвращает 0, если не было ошибок, или код ошибки BTrieve, если были ошибки.

Замечания

Функция работает только на платформе BTrieve. Для SQL платформ функция повторно откроет ту же таблицу.
====================================

Добавлено: 11 дек 2008, 15:26
hope
Я не знаю как получить доступ из одной базы - к другой базе. Может у кого пример есть?

Добавлено: 11 дек 2008, 15:32
sim
1) Функциональность Старта, Прогресса и "большой" Галактики определяется только конфигурацией лицензионного файла. Математика для всех одна.
2) Описанную задачу штатно можно решить двумя путями: с помощью модуля Enterprise и с помощью модуля Филиальность.
3) В прайсе на Прогресс есть только Филиальность. Enterprise - это для "большой" Галы.
4) При использовании Филиальности все базы нужно сливать в одну, заморочек будет достаточно. Здесь кто-то делал, поищите.

Добавлено: 11 дек 2008, 15:34
hope
Вообще хотели сделать общие таблицы на несколько баз с помощью Enterprise, но сказали. что для Прогресса этот модуль не продают - только с большой Галактикой.

Добавлено: 11 дек 2008, 15:37
hope
Дело в том, что филиальность не подходит - в каждой базе планируется по 15 пользователей, поэтому в одну Прогресс их объединить не получится - это будет уже большая Галактика.

Добавлено: 11 дек 2008, 15:56
sim
Тогда просите Enterprise, в "довесок" к Прогрессам.
Поубедительнее просите. Кризис однако ;)

Добавлено: 11 дек 2008, 16:58
hope
Уже просили... но еще попробуем...