2016-02-18 3 views
0

У меня есть две базы данных, подключенные к одной и той же сети (но разные серверы), одна в MySql и одна в DB2 (AS/400). Из клиентского приложения Windows, которое я разрабатываю, мне нужно подключиться к таблицам, расположенным в обеих базе данных, но я хочу, чтобы клиент имел доступ только к серверу MySql.MySql - Подключение к внешней таблице базы данных

Мне нужно, чтобы в MySql была «реплика» некоторой таблицы, расположенной в базе данных DB2, так что mysql действует как «мост» между клиентом и db2. Я пытаюсь с объединенными таблицами, но казалось, что он работает только между двумя базами данных mysql. Я могу получить доступ к базе данных db2 через драйвер ODBC, если это поможет.

Чтобы лучше объяснить:

Now: 
    C  MySql   DB2 
    L ------ table1 
    I ------ table2 
    E      table3 
    N      table4 
    T 

I need: 
    C  MySql   DB2 
    L ------ table1 
    I ------ table2 
    E ------ table3 ------ table3 
    N ------ table4 ------ table4 
    T    ^
         |___ How? 

Ссылаясь на схему, время каждый клиент попытаться запросить «Таблицу 3» в MySql, сервер MySql должен первым DB2 запрос для Table3, а затем вернуть таблицу к клиенту. Возможно ли это с MySql?

ответ

0

Нет, в mysql нет такой функции, которая позволила бы вам подключиться к другому типу db. Механизм федеративной таблицы может подключаться только к удаленному mysql db.

Для достижения желаемых результатов вам необходимо изучить внешние инструменты (mysql proxy, mysql datacontroller?). Если есть какие-либо инструменты, которые поддерживают соединение с DB2 вообще.

Технически вы можете создать собственное построение машинного стола на существующем объединенном сервере таблиц, который может подключаться к базе данных DB2, но это кажется излишним для проекта.

Возможно, вам придется реализовать своего рода сервер приложений, который может подключаться как к базам данных, так и к клиентам, будет поддерживать связь только с уровнем сервера приложений.

Смежные вопросы