Распределенный запрос

Рейтинг: 1Ответов: 1Опубликовано: 25.03.2015

Доброе время суток, форумчане.
Подскажите, пожалуйста:

  • как осуществить распределенный запрос к нескольким БД? (вот например, есть компонент в delphi, ADOConnection1, он соединен у меня с БД, на этой же машине, есть также «TADOQuery», в котором я пишу запрос к таблице в этой БД – с этим понятно.
    Вопрос: а если запрос происходит в две таблицы, которые находятся в разных БД, как это реализовать?

  • и вообще куда запрос обращается сначала?

  • и что (или какой компонент) за это отвечает?

Платформа используется - MySQL.

Спасибо.

Ответы

▲ 1

Нужно договориться о терминологии. Никакой распределённой БД здесь нет. Здесь есть несколько независимых БД. И есть только два способа выполнить запрос к ним обоим:

  1. Объединить их средствами СУБД. Например, обе БД на одном сервере, или Linked Server, или какой-нибудь OpenRowSet. В общем, это механизмы СУБД и к Delphi отношения не имеют. Как это сделать в MySQL я не подскажу, очень мало опыта с ним имею.
  2. Подключиться из программы к двум разным БД, выполнить нужные запросы и потом творчески переработать результаты. Здесь всё просто - добавить компоненты TADOConnection и TADOQuery для работы со второй БД.