java - 如何将多个连接传递给 birt 报告?
问题描述
我可以通过 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");
推荐阅读
- python - 当外部循环和嵌套循环的范围相同时,python 中的嵌套循环如何表现?
- php - 用于 HTML 表单的 PHP API 在 MySQL 数据库中插入记录
- graphql - 为什么我们需要`cacheRedirects`?
- listview - 如何以 Listview 和 Grid 作为父级滚动 UWP 中的整个列表?
- python - 如何使用 tweepy/Python 在 Twitter 上关注某人?
- python - 如何在 Python 中使用信号模块或其他模块使 Paramiko sftp.put() 超时?
- javascript - 根据用户代理字符串转换链接
- python - 在 Odoo 中添加具有默认值的新布尔字段
- r - 使用 glmnet 的多项岭回归给出的结果概率高于 1,而对于不同的目标类别为负,知道为什么吗?
- python - 为什么我在尝试访问 HttpRequest.POST['choice'] 值时收到 TypeError?我该如何解决这个错误?