从java更改Birt报告数据源

时间:2014-03-18 10:28:11

标签: java maven derby birt

我们在eclips报告设计中创建了Birt报告,我们使用Birt jdbc数据源连接到derby数据库。 现在我们将使用与mysql数据库相同的报告。每次我们需要在每个报告中编辑此数据源。 我们希望在java / maven中有一个属性,我们可以在其中更改驱动程序类数据库URL

我们已按照此链接上的说明操作 How to set a datasource for a BIRT report programmatically?

但是在这里他将在运行时使用动态数据库URL。 但是在运行时不要这样,它必须改变永久性,直到我们通过maven再次改变它。

1 个答案:

答案 0 :(得分:0)

我们找到了解决方案。 在birt报告中,我们使用jdbc数据源(属性绑定):

if ( params["database"] == "derby" ){
     "jdbc:derby://localhost:1527/databaseName;user=user;password=password";
}else if ( params["database"] == "mysql" ) {
     "jdbc:mysql://localhost:3306/databaseName?user=root";
}

所以我们创建了一个参数,我们可以在运行时选择derby或mysql。

我们还使用报告网络浏览器,因此我们在网页中显示此报告:

<birt:viewer id="WebApp" reportDesign="report.rptdesign" format="html" ></birt:viewer>

现在我们将参数传递给此查看器,如下所示:

<birt:viewer id="WebApp" reportDesign="report.rptdesign" format="html" >
      <birt:param name="database" value='mysql'></birt:param>
</birt:viewer>

参数值将使用maven配置文件自动更改。