Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将多个连接传递到birt报告?_Java_Birt - Fatal编程技术网

Java 如何将多个连接传递到birt报告?

Java 如何将多个连接传递到birt报告?,java,birt,Java,Birt,我可以通过java代码将数据库连接传递到报表。以下是我如何实现的: DataSource datasourceOracle= (DataSource)initialContext.lookup("java:jboss/jdbc/BirtConn"); task.getAppContext().put("OdaJDBCDriverPassInConnection", datasourceOracle.getConnection()); 我的问题是报告使用了多个数据源。所以我需要通过两个多重连接来

我可以通过java代码将数据库连接传递到报表。以下是我如何实现的:

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

我的问题是报告使用了多个数据源。所以我需要通过两个多重连接来报告。我该怎么做?

如果您知道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");