Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Cравнение по данным однотипных таблиц в разных СУБД
|
|||
|---|---|---|---|
|
#18+
Какой оптимальный алгоритм и технология в вопросах сравнения по данным аналогичных таблиц 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.09.2003, 13:52 |
|
||
|
Cравнение по данным однотипных таблиц в разных СУБД
|
|||
|---|---|---|---|
|
#18+
В Oracle есть т.н. Heterogeneous Services , позволяющий работать через ODBC с таблицами на дрeub[ серверах БД. В MSSQL вроде как есть процедура sp_addLinkedServer . Это если задача ограничивается вышеупомянутыми серверами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 14:28 |
|
||
|
Cравнение по данным однотипных таблиц в разных СУБД
|
|||
|---|---|---|---|
|
#18+
У Сайбеса есть фирменная технология связывания СУБД в том числе и от разных производителей. Раньше называлась OmniConnect. Грубо так: ставиться ASE, настраивается через OmniConnect. И таблицы доступны как свои, даже модификацию данных производить можно (она внутри SQL конвертит и передает Oracle), поэтому запросы и "быстрые" и хитрые джойны писать можно... Мы делали аналогичную фишку сами вот как: у билдера (PowerBuilder) есть объект - DataPipeLine, он очень много умеет по синхронизации, сам 2 соединения поддерживает (практически любых) и подавляющее большинство нужных вещей делает по синхронизации. Правда это все реально работает, когда таблицы примерно одинаковы, либо есть возможность построить запрос таким образом, чтобы по структуре совпал со 2 таблицей. У нас это получалось, хотя системы и разные были по структуре. Да и сайбес мы выбрали именно потому, что у него весьма развитые репликации... Потому на связке ASA - ASE все делается быстро и надежно работает :)) Да и еще есть способ - так называемы EAI (enterprise application integrator), системы для связи разных СУБД или информационных сиситем (SAP, PeopleSoft....) Там все делается на уровне настройки и дальше все замечательно работает, источников стыковки - море. Но есть недостаток - цена кусается И если Вы пишете на "неродном" MS SQL + Access, то скорее всего денег нету на енто, хотя технология очень даже интересная... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 15:06 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=54&tid=1554280]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 333ms |

| 0 / 0 |
