Конференция "Базы" » Как выполнить запросы к двум разным базам,с одинаковыми таблицами [D7, IB6.x]
 
  • 131516 © (26.12.14 14:13) [0]
    Есть две разные базы(соединение в одной программе, на разные 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 это реализовать, примеры.
  • Jeer © (27.12.14 14:09) [1]
  • Sergey13 © (29.12.14 09:19) [2]
    Если сравнивать надо не на лету, а нечто вроде синхронизации/репликации, то, как вариант, можно экспортнуть таблицу во внешнюю в одной БД и приаттачить в ее в другой.
  • Виталий Панасенко (29.12.14 13:13) [3]
    Если ИМЕННО IB6, то никак.
 
Конференция "Базы" » Как выполнить запросы к двум разным базам,с одинаковыми таблицами [D7, IB6.x]
Есть новые Нет новых   [118483   +50][b:0][p:0]