[英]change Birt report datasource from java
我们已经在eclips报表设计中创建了Birt报表,并且使用Birt jdbc数据源连接到derby数据库。 现在,我们将使用与mysql数据库相同的报告。 每次我们需要在每个报告中编辑此数据源时。 我们希望在java / maven中具有一个属性,可以在其中更改Driver Class和Database URL 。
我们已经按照此链接上的说明进行操作。 如何以编程方式设置BIRT报告的数据源?
但是在这里,他将在运行时使用动态数据库URL。 但是不要在运行时这样做,它必须永久更改,直到我们通过Maven再次更改它为止。
我们找到了解决方案。 在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。
我们还使用报告Web查看器,因此我们在网页中显示此报告:
<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配置文件自动更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.