Как передать несколько подключений в Birt Report? - PullRequest
0 голосов
/ 25 сентября 2018

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

DataSource datasourceOracle= (DataSource)initialContext.lookup("java:jboss/jdbc/BirtConn");
task.getAppContext().put("OdaJDBCDriverPassInConnection", datasourceOracle.getConnection());

Моя проблема в том, что в отчете используется несколько источников данных.Поэтому мне нужно передать два множественных соединения для отчета.Как я могу?

1 Ответ

0 голосов
/ 26 сентября 2018

Если вы знаете детали ваших соединений внутри вашего Java-кода, вы можете передать эти данные вместо просто имен JNDI, например:

task.getAppContext().put("conn1.username", "scott");
task.getAppContext().put("conn1.password", "tiger");
task.getAppContext().put("conn1.url", "oracle:jdbc:thin:@//oracledb:1521/orcl");

task.getAppContext().put("conn2.username", "hr");
task.getAppContext().put("conn2.password", "x");
task.getAppContext().put("conn2.url", "oracle:jdbc:thin:@//other-db:1521/xyz");

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

Database URL: reportContext.getAppContext().get("conn1.name");
User Name:    reportContext.getAppContext().get("conn1.username");
Password:     reportContext.getAppContext().get("conn1.password");
...