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

Как объединить две SQL базы в одну?

Добавлено: Чт фев 24, 2011 13:04
aiki
Имеем 2 базы наполненные с документами, сообщениями. Нужно объединить в одну.
Как это сделать? Есть какой инструмент в наборе Альты?

Re: Как объединить две SQL базы в одну?

Добавлено: Чт фев 24, 2011 14:44
Ranger_Z
Есть.
Выгрузка в формат Альта-Windows, загрузка из формата Альта-Windows.

Re: Как объединить две SQL базы в одну?

Добавлено: Чт фев 24, 2011 15:05
aiki
а история сообщений по декларации перенесуться?

Re: Как объединить две SQL базы в одну?

Добавлено: Пт фев 25, 2011 12:32
Ranger_Z
Сообщения нет.
В данный момент, мы разрабатываем инстумент для слияния баз.

Re: Как объединить две SQL базы в одну?

Добавлено: Пт фев 25, 2011 13:18
aiki
Когда этот инструмент появится?
Как можно сейчас перенести сообщения?

Re: Как объединить две SQL базы в одну?

Добавлено: Пт фев 25, 2011 17:44
Sidyakin
В папке UTILS есть утилитка MergeDB, которая объединяет две базы, находящиеся на одном сервере.
В настоящий момент объединяются только документы. В ближайшем обновлении будет новая версия 1.0.0.1, которая объединяет еще и ЭД-сообщения.
Перед запуском настоятельно рекомендуется сделать бэкап баз данных, как исходной, так и результирующей.

Re: Как объединить две SQL базы в одну?

Добавлено: Чт мар 03, 2011 15:18
Yevgenij78
А чем народ не устраивает вариант импорта-экспорта данных средствами управления SQL?
Правой клавишей мыши по базе данных - Задачи - Импорт данных... Запустится мастер импорта-экспорта данных, в котором указываете из какой базы куда данные перенести.

Re: Как объединить две SQL базы в одну?

Добавлено: Чт мар 03, 2011 15:30
Sidyakin
По двум причинам:
1. Отсутствие данной функции в бесплатной версии SQL-2005 Express
2. Перенос должен осуществляться согласно правилам (порядок, проверка структуры, наличие дублирующихся записей и т.д.)

Re: Как объединить две SQL базы в одну?

Добавлено: Ср июн 22, 2011 16:54
VladV
Добрый день,

А у утилиты MERGEDB.EXE есть какие-нибудь настройки? Например, условия фильтрации?

Нам надо синхронизировать две базы Альты, но не полностью.

В базе (1) декларанты создают ГТД и прочие документы, и отмечают для отправки.
В настройках клиентов базы (1) указано, что обменом занимается другой комп.

Все новые документы надо перенести в базу (2).
Из базы (2) документы отправляются либо экземпляром Альты-ГТД, либо сервером EDSERVICE.EXE.
Результаты обмена (логи, вопросы инспектора) надо передать обратно в базу (1) для обработки декларантом.

В базе (2) хранятся данные только по поданным но не выпущенным ГТД, всё остальное удаляется.

Спасибо.

Re: Как объединить две SQL базы в одну?

Добавлено: Ср июн 22, 2011 17:36
Sidyakin
Никаких настроек нет. Из исходной базы тупо переносятся все документы (включая ЭД), отсутствующие в базе-приемнике.

В принципе, Ваша задача решается с помощью MergeDB, правда, с некоторыми ограничениями.
1. С помощью MergeDB переносятся все новые документы из (1) в (2)
2. В (2) производится отправка документов и получаются новые ЭД-сообщения
3. С помощью MergeDB переносятся ЭД-сообщения из (2) в (1)

Ограничения в такой схеме:
1. В (2) не заводится никаких новых документов (иначе они пойдут в БД-1 вместе с ЭД-сообщениями)
2. Повторная выгрузка исправленных документов, которые уже были перемещены из (1) в (2) невозможна (только в ручном режиме)