我正在尝试设置我的birt报告和它们所在的iserver,以便Data Sources连接到的数据库由环境决定。我们的设置是,目前只有一个iserver实例和许多运行tomcat webapp的环境遇到了问题(这可能是问题…)。
基本上,理想的情况是报告在这些地方的连接方式不同:
本地开发,它运行应用程序的本地tomcat实例,该实例与iportal/iserver通信。本地数据库,但应能方便地更改到其他数据库进行调试等。
qa部署,qa数据库
生产部署,生产数据库
我看到了两种解决方法:
First option是将Data Source绑定到某个资源中的配置文件。这里的问题是,如果只有一个iserver,它的资源是它所在服务器的本地资源,而不是webapp所在的位置。所以,如果我理解正确,这并不能提供我正在寻找的灵活性。
Second option将所有连接信息作为报告参数传入,并获取应用程序以确定要传入的正确参数。这样应用程序就可以从本地配置文件中提取。这个选项可以工作,但我厌倦了在传递连接信息/凭据时的安全性(或缺乏安全性)。
有人有更好的选择吗?或者人们只是运行本地的iserver实例进行开发?我可以看到为每个环境运行一个iserver可以简化这个问题,并允许在qa环境中更新和测试发布到生产环境中的报告,而不会中断生产,所以这可能就是解决方案。

最佳答案

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

关于database - BIRT和iServer,开发/质量保证/生产环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9575645/

10-10 15:33