Объединить таблицы из нескольких баз данных - PullRequest
0 голосов
/ 07 июня 2018

У меня есть устаревшее веб-приложение, упаковка WAR.

Он написан с использованием жестко закодированных строк sql в файлах DAO.Он подключается к нескольким схемам Oracle db.

select ... from schema1.one_table join schema2.other_table on...

Что мне нужно сделать, так это заставить эту работу работать со схемами в отдельных базах данных.

Мне посоветовали автоматически связать две jdbcTemplates и запросданные из них, затем выполните логику объединения-фильтрации в Java.

Я чувствую, что это плохое решение по нескольким причинам.Я не хочу реализовывать объединяющую фильтрацию в java, я уверен, что движок oracle делает это в сто раз эффективнее.

Как можно переписать запросы, чтобы указать не только схему, но и экземпляр db?Это возможно?

1 Ответ

0 голосов
/ 07 июня 2018

Я думаю, что это нельзя сделать напрямую с JDBC.Вы можете выполнить следующие шаги, как я делал в одном из моих проектов:

  • Создать dblink между базами данных с помощью DBA.
  • Создать синоним таблиц удаленной базы данных в вашей основной базе данных.

Таким образом, вы можете получить доступ к удаленным таблицам напрямую из одной базы данных, а затем использовать любой простой JDBC / JDBCTemplate / Hibernate и т. Д. Для ведения своего бизнеса.

...