Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Cравнение по данным однотипных таблиц в разных СУБД  [new]
Eug_Bag
Member

Откуда:
Сообщений: 3
Какой оптимальный алгоритм и технология в вопросах сравнения по данным аналогичных таблиц
2-х БД? При этом предполагается что БД могут быть как SQL (Oracle, SQL Server) так и локальные (MS Access).
На мой взгляд есть 2 пути: Ясно, что оператор Select с Ineer Join не сделаешь в общем случае, например Access, SQL Server без например, специальной административной процедуры связывания БД . 1 путь в случае если 1 из БД – Access – через механизм присоединения таблиц – в Access присоединяется таблица из другой БД, выполняется Select…JOIN и производится отсоединение и присоединение следующей т-цы и так до конца. Если же 2 серверные БД – то непонятно.
2путь – сравнение Recordset – устанавливаются 2 соединения (ODBC, ADO ) открываются 2 рекордсета. Их наверно надо сортировать (что поддерживает далеко не всякий провайдер, например Oracle for ODBC) , потом двигаться от начала к концу и сравнивать. При этом если нужно полное сравнение не только по ключам, надо еще слеплять в 1 строку все поля текущей записи каждого из recordset и сравнивать строки (или в цикле по количеству полей – сравнивать каждое поле) – не сомневаюсь что это страшно медленно.
Хотелось бы узнать если еще какие-то технологичные пути? (Ведь Select …Join по 2-м рекордсетам не сделаешь)
-----------------------------------------------------------------------------
Есть продукт DB Explorer .Он работает с любой OLEDB или ODBC совместимой БД, включая SQL server, Oracle, Access, DB2. Производит как сравнение по структуре, так и сравнение по данным.
Какой алгоритм и технология сравнения по данным в нем реализованы?

Евгений Багоцкий EugIra@Mail.ru, дом 519-85-79б раб 775-65-03
25 сен 03, 13:52    [352420]     Ответить | Цитировать Сообщить модератору
 Re: Cравнение по данным однотипных таблиц в разных СУБД  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
В Oracle есть т.н. Heterogeneous Services, позволяющий работать через ODBC с таблицами на дрeub[ серверах БД. В MSSQL вроде как есть процедура sp_addLinkedServer. Это если задача ограничивается вышеупомянутыми серверами.
25 сен 03, 14:28    [352496]     Ответить | Цитировать Сообщить модератору
 Re: Cравнение по данным однотипных таблиц в разных СУБД  [new]
andy753
Member

Откуда: Moscow
Сообщений: 368
У Сайбеса есть фирменная технология связывания СУБД в том числе и от разных производителей. Раньше называлась OmniConnect.

Грубо так: ставиться ASE, настраивается через OmniConnect. И таблицы доступны как свои, даже модификацию данных производить можно (она внутри SQL конвертит и передает Oracle), поэтому запросы и "быстрые" и хитрые джойны писать можно...

Мы делали аналогичную фишку сами вот как: у билдера (PowerBuilder) есть объект - DataPipeLine, он очень много умеет по синхронизации, сам 2 соединения поддерживает (практически любых) и подавляющее большинство нужных вещей делает по синхронизации. Правда это все реально работает, когда таблицы примерно одинаковы, либо есть возможность построить запрос таким образом, чтобы по структуре совпал со 2 таблицей. У нас это получалось, хотя системы и разные были по структуре.

Да и сайбес мы выбрали именно потому, что у него весьма развитые репликации... Потому на связке ASA - ASE все делается быстро и надежно работает :))

Да и еще есть способ - так называемы EAI (enterprise application integrator), системы для связи разных СУБД или информационных сиситем (SAP, PeopleSoft....) Там все делается на уровне настройки и дальше все замечательно работает, источников стыковки - море. Но есть недостаток - цена кусается И если Вы пишете на "неродном" MS SQL + Access, то скорее всего денег нету на енто, хотя технология очень даже интересная...
25 сен 03, 15:06    [352606]     Ответить | Цитировать Сообщить модератору
 Re: Cравнение по данным однотипных таблиц в разных СУБД  [new]
x
Guest
А почему это ORACLE через ODBC не поддерживает сортировку ?
Как же я работаю ?
26 сен 03, 15:27    [354272]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить