Предоставление двух имен схемы в URL-адресе соединения JDBC - PullRequest
0 голосов
/ 07 февраля 2012

Мое приложение использует файл источника данных xml для доступа к БД. Внутри БД имеется несколько схем, и у меня нет проблем с доступом к какой-либо из этих схем.

Однако мы начали использовать BIRT для создания отчетов и создания диаграмм, и поэтому я столкнулся с очень типичной проблемой.

В BIRT мне нужно создать файл источника данных. Проблема в том, что он принимает URL-адрес jdbc: connection, где я предоставляю URL-адрес БД. Однако, наряду с URL-адресом, он также просит указать схему, иначе BIRT не показывает никакого значения. в наборе данных. Я могу легко указать одно имя схемы, однако в моем запросе используются две схемы, и, следовательно, я не могу найти альтернативу для одного и того же ... Создание совместного набора данных - вариант, но мои запросы сложны и, как правило, не являются жизнеспособными для я ...

URL-адрес соединения, который я указываю: -

JDBC: MySQL: // IP: порт / SchemaName SomeString

Как я могу указать более двух схем в URL-адресе моего соединения jdbc .. ??? Как я могу подключиться к двум схемам внутри одного источника данных в BIRT ..

1 Ответ

3 голосов
/ 07 февраля 2012

Вы решаете эту проблему не с той стороны.MySQL позволяет объединять таблицы из разных схем.Вы должны просто сообщить ему, по какой схеме искать какую таблицу.Вы можете сделать это, добавив имя схемы и '.'перед каждым именем таблицы в вашем запросе, например:

SELECT db1.products.prod_id, db2.products.upc_code FROM db1.products LEFT JOIN db2.products ON (db1.products.prod_id=db2.products.prod_id)

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

...