2

我正在尝试设置我的 BIRT 报告和它们所在的 iServer,以便Data Sources连接到的数据库由环境确定。我们的设置是目前只有一个 iServer 实例和许多运行 tomcat webapp 的环境(这可能是问题...)。

本质上理想的是报告在这些地方以不同的方式连接:

  1. 本地开发,它正在运行与 iPortal/iServer 对话的应用程序的本地 tomcat 实例。本地数据库,但应该能够轻松更改为其他数据库进行调试等。
  2. QA 部署,QA 数据库
  3. 生产部署,生产数据库

我已经看到了两种解决此问题的方法:

  1. 第一个选项是将 绑定Data Source到某处资源中的配置文件。这里的问题是,如果你只有一个 iServer,它的资源是它所在服务器的本地资源,而不是 webapp 所在的地方。所以,如果我理解正确,这并不能提供我正在寻找的灵活性。
  2. 第二个选项是将所有连接信息作为报告参数传递,并让应用程序确定要发送的正确参数。这样应用程序可以从本地配置文件中提取。这个选项会起作用,但我厌倦了传递连接信息/凭据的安全性(或缺乏安全性)。

有没有人有更好的选择?或者人们只是为了开发而运行本地 iServer 实例?我可以看到为每个环境运行 iServer 可以简化此问题,并允许发布到生产的报告在 QA 环境中更新和测试,而不会中断生产,所以也许这就是解决方案。

4

2 回答 2

1

您提到您正在寻找开发选项,包括本地 iServer 的可能性。我认为这将是矫枉过正。你在 BIRT 中进行开发和初始测试吗?您不需要 iServer 来运行报告。如果您需要 iServer 上的资源来运行和测试报告,您可以通过 BIRT Pro 中的服务器资源管理器引用这些资源。一旦你准备好部署,我会按照上面 Mark 的策略在数据源本身上使用属性绑定。这与 BIRT 中存在的迁移要求的最佳实践一样接近。

于 2012-03-09T13:37:45.713 回答
1

一种可能的方法是根据指示要访问哪个环境的隐藏参数的值,在“编辑数据源”对话框的“属性绑定”部分有条件地设置每个连接属性。

这种方法的一个例子可以在这里找到。

于 2012-03-06T08:03:53.083 回答