powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
14 сообщений из 14, страница 1 из 1
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
    #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
Помогите выполнить запросы из двух разных баз, с одинаковыми таблицами.
    #38843730
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, 131516!
You wrote on 26 декабря 2014 г. 13:10:13:

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

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

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

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

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


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