Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами. / 14 сообщений из 14, страница 1 из 1
26.12.2014, 13:08
    #38843724
131516
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Есть две разные базы(соединение в одной программе, на разные IP) через компоненты FIB(FIBDatabase) реализация на Delphi. Нужно сравнить две таблицы по полям одинаковые по структуре. Пытаюсь сделать что-то вроде этого;
ПРИМЕР
select x1.fld from table x1 where not EXISTS(select x2.fld from table x2 where x2.fld=x1.fld) - выбрать записи которые не совпадают.

но с pfibdataset не могу указать вторую таблицу в другой базе, названия таблиц совпадают.
и не могу продолжить
DM.efSDS.SelectSQL.Clear;
DM.efSDS.SelectSQL.Add('SELECT X1.fld FROM X1 WHERE....');

На форуме видел и это ПРИМЕР: SELECT a.fld1, a.fld2 FROM db1.table1 a, db2.table1 b WHERE a.id=b.id, и это не мойму как сделать.

Ясно все когда две таблицы в одной базе. Как мне в коде запроса сослатся на другую таблицу в другой базе( подключенные в разных FIBDatabase,fibdataset ) с таким же именем, не могу понять как практически реализовать это. И вывести как угодно , допустим DBGrid. Может кто подскажет как на Delphi это реализовать, примеры.
...
Рейтинг: 0 / 0
26.12.2014, 13:11
    #38843730
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Hello, 131516!
You wrote on 26 декабря 2014 г. 13:10:13:

131516 Может кто подскажет как на Delphi это реализовать, примеры.
используй BDE
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2014, 14:03
    #38843810
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
131516не могу понять как практически реализовать это.
Почитай про алгоритм MERGE JOIN. Открываешь два запроса с одинаковой сортировкой и фетчишь
из них последовательно записи, сравнивая. Отличия складываешь в грид или любое другое место.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2014, 14:50
    #38843870
131516
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Dimitry Sibiryakov,

Хорошо, MERGE JOIN - как прописывавать обе таблицы в запросе, пример не общий, а практический?. Последовательный перебор каждой записи не катит, т.к. одна база вертится в Интернет, на слабых соединения с записями выше 100 тыс... это вечность. И ответ выше BDE- наверно уже равносилен см. гугл )))
...
Рейтинг: 0 / 0
26.12.2014, 15:10
    #38843910
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
131516Последовательный перебор каждой записи не катит, т.к. одна база вертится в
Интернет, на слабых соединения с записями выше 100 тыс... это вечность.
Наоборот, это самый быстрый способ из всех существующих.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.12.2014, 15:15
    #38843917
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
И e.p.i уж сколько лет нет, а проблемы всё те же. :) Я про ненадёжные соединения больше....
--
(отсюда http://ibase.ru/devinfo/humour.htm)
май 2002:
1: Хочу обеспечить атомарность обновления данных в двух базах при ненадежном соединении.
2: Хочешь самый велосипедный велосипед из всех велосипедных велосипедов ?
--

В любом случае при наличии +100K записей их как-то надо вынимать для сравнения.
На сервер ли... на клиента ли... Какая разница! Чтобы сравнить, данные сначала надо прочитать.
Узким местом так и останется этот внешний и страшный для тебя канал к одной из баз.
...
Рейтинг: 0 / 0
26.12.2014, 15:29
    #38843938
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
131516Хорошо, MERGE JOIN - как прописывавать обе таблицы в запросе, пример не общий, а практический?.
А при этом не надо прописывать обе таблицы в одном запросе
Будет два запроса, каждый к своей таблице
...
Рейтинг: 0 / 0
27.12.2014, 17:06
    #38844495
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
если лениво тащить на клиента (сдается мне это самый быстрый вариант), то можно притащить данные в одну из БД (например в gtt таблицу) посредством execute statement on external, далее тривиальный join или exists.
...
Рейтинг: 0 / 0
27.12.2014, 17:21
    #38844506
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Ivan_Pisarevskyможно притащить данные в одну из БД (например в gtt таблицу)
посредством execute statement on external, далее тривиальный join или exists
А потом выяснится, что это очередная репликация.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.12.2014, 08:25
    #38846212
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Можно поставить оракл, настроить дблинки и сравнивать одним запросом.
Если вопрос денежный, то оракл заменить на постгре (правда про дблинки в постгре я ничего не знаю, они там есть вообще?)
...
Рейтинг: 0 / 0
30.12.2014, 09:58
    #38846276
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
roadsterМожно поставить ораклТрава? Уж тогда слить в текстовики и натравить kdiff
...
Рейтинг: 0 / 0
30.12.2014, 12:13
    #38846388
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
131516одна база вертится в Интернет, на слабых соединения с записями выше 100 тыс... это вечность

используй хэши и трехзвёнку
...
Рейтинг: 0 / 0
30.12.2014, 14:46
    #38846589
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
Ivan_PisarevskyroadsterМожно поставить ораклТрава? Уж тогда слить в текстовики и натравить kdiff в текстовом файле селектом не обработаешь.
ЗЫ не нарвится оракл, можно MS SQL использовать
...
Рейтинг: 0 / 0
31.12.2014, 10:03
    #38847046
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
roadsterIvan_Pisarevskyпропущено...
Трава? Уж тогда слить в текстовики и натравить kdiff в текстовом файле селектом не обработаешь.
ЗЫ не нарвится оракл, можно MS SQL использовать
Да ну?

Всех с надвигающимся!
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами. / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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