Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выгрузка из Oracle и SQL Server / 9 сообщений из 9, страница 1 из 1
13.03.2007, 17:34
    #34388121
FMV
FMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
Задача:

Есть база на Oracle, которую необходимо наполнить данными. Есть несколько различных баз на Oracle и MS SQL Server, в которых эти данные уже хранятся.

Необходимо сделать выгрузку из всех баз-источников, результат загрузить в новую базу.

Вопрос:

Можно ли сделать так, чтобы был единый механизм выгрузки? На выходе нужно получить XML, который будет грузиться в базу-назанчение. Баз источников - 8 штук, структура XML-документа может меняться. Не очень-то хочется делать идентичные изменения в 8 местах.

Что можете посоветовать? На чем можно реализовать единых механизм? (С++, Delphi, SQL???)

Спасибо.
...
Рейтинг: 0 / 0
14.03.2007, 01:09
    #34388912
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
FMVНа чем можно реализовать единых механизм? (С++, Delphi, SQL???)
Если просто делать свою работу, то выгрузку можно сделать средствами репортеров, загрузку - sql*loader.
Если слегка выпендриться - воспользуйтесь MS DTS.
Если поупражняться в новомодных веяниях - сделайте на Oracle Enterprise Service Bus.
Если денег куры не клюют - приобретите интеграционную платформу вроде TIBCO.
...
Рейтинг: 0 / 0
14.03.2007, 02:33
    #34388952
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
FMVМожно ли сделать так, чтобы был единый механизм выгрузки? На выходе нужно получить XML,
Этому "нужно XML" есть обоснование? Или "слышали что круто и вообще все вокруг его используют"?

FMVЧто можете посоветовать? На чем можно реализовать единых механизм? (С++, Delphi, SQL???)
Реализовать можно на чем угодно. Из того, с чем я работал, я бы в первую очередь посмотрел в сторону Oracle Warehouse Builder; это не его основное предназначение, но тем не менее, задачи перекачки данных рисуются на нем исключительно легко и непринужденно (ограничение - онлайн перекачки, то есть при наличии сетевой связи источника с приемником). Правда, с другой стороны, инструмент нуждается в освоении, поэтому для разовой пустяковой задачи возиться с ним - перебор; тут уже вопрос, насколько серьезна ваша задача.
...
Рейтинг: 0 / 0
14.03.2007, 07:20
    #34389033
Выгрузка из Oracle и SQL Server
FMVЗадача:

Есть база на Oracle, которую необходимо наполнить данными. Есть несколько различных баз на Oracle и MS SQL Server, в которых эти данные уже хранятся.

Необходимо сделать выгрузку из всех баз-источников, результат загрузить в новую базу.

Вопрос:

Можно ли сделать так, чтобы был единый механизм выгрузки? На выходе нужно получить XML, который будет грузиться в базу-назанчение. Баз источников - 8 штук, структура XML-документа может меняться. Не очень-то хочется делать идентичные изменения в 8 местах.

Что можете посоветовать? На чем можно реализовать единых механизм? (С++, Delphi, SQL???)

Спасибо.
По крайней мере из Оракловых баз можно вытянуть данные через DBLink (прочитайте в хелпе про create database link ....). При желании можно процедуру выгрузки написать на PL/SQL...
...
Рейтинг: 0 / 0
14.03.2007, 09:06
    #34389135
FMV
FMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
Спасибо всем за ответы.

softwarer FMVМожно ли сделать так, чтобы был единый механизм выгрузки? На выходе нужно получить XML,
Этому "нужно XML" есть обоснование? Или "слышали что круто и вообще все вокруг его используют"?


Обоснование есть - требование заказчика. У них есть утилита по загрузке данных, оформленных в виде XML. Моя задача - получить эти файлы на основании существующих баз. Базы, в которую все будет заливаться, у меня нет, поэтому не помогут DBLink для Oracle'овых баз.

Проблема усугубляется в итеративности этой выгрузки, а потому не хотелось бы многократно переписывать одно и то же в 10 местах.
...
Рейтинг: 0 / 0
14.03.2007, 09:39
    #34389218
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
FMV
Можно написать утилиту (для каждой СУБД отдельную) котрая по словарю выгрузит все или выбранные таблицы в файл CSV или XML. Вот только с BLOB непотно что делать.
Аналогично с загрузкой.
...
Рейтинг: 0 / 0
14.03.2007, 09:51
    #34389261
FMV
FMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
К счастью LOB'ов нет :)

Я правильно понял, что универсальное решение не получится? Максимум что можно сделать - это написать 2 утилиты для каждой СУБД?
...
Рейтинг: 0 / 0
14.03.2007, 10:55
    #34389492
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
FMVЯ правильно понял, что универсальное решение не получится? Максимум что можно сделать - это написать 2 утилиты для каждой СУБД?
Тем более что у вас их всего 2.
...
Рейтинг: 0 / 0
15.03.2007, 14:49
    #34393573
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка из Oracle и SQL Server
FMVОбоснование есть - требование заказчика. У них есть утилита по загрузке данных, оформленных в виде XML.
Это, конечно, аргумент, хотя я бы все равно внимательно к нему присмотрелся. А то за неделю до подписания акта заказчик вдруг обнаружит, что "XML" и "реальные объемы данных" несовместимы.....

FMV Моя задача - получить эти файлы на основании существующих баз.
Тогда вопрос сводится к тому, "сколько и насколько разных баз" есть и может быть.

В наличии различных СУБД в данном случае нет большой беды - на уровне простых запросов совместимость вполне достаточная, написать "универсальное подключение" не составляет проблемы. Важен вопрос "сколько различных структур данных придется обслуживать" - одну, две или восемь?

Если восемь, очевидно, потребуется некоторая прокладка, которая сможет взять данные в первом-втором-третьем-четвертом входных форматах и конвертировать в некую универсальную форму, по которой и будет генериться выходной документ. Сделать это можно двумя основными способами:

1. Придумать некую метаинформацию, описывающую структуру данных в каждом случае. Типа "нужное нам поле лежит в таблице А и называется Б, доступно из таблицы В по ключу Г". Подход универсальный, но довольно масштабный; хорош для внедряемых универсальных решений, но для данного случае скорее всего слишком громоздок (придется либо писать довольно хитрый генератор SQL, либо ограничиться очень неэффективной реализацией с уймой мелких запросов).

2. Придумать некие "интеграционные объекты", скажем, view, с универсальным набором полей и реализацией, собирающей их из обслуживаемой базы.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выгрузка из Oracle и SQL Server / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]