加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

BIRT:将XML数据源文件指定为参数不起作用

发布时间:2020-12-16 23:06:20 所属栏目:百科 来源:网络整理
导读:使用BIRT设计器3.7.1,可以很容易地为 XML文件数据源定义报告;但是,输入文件名最初是作为常量值写入.rptdesign文件的.一开始不错,但在现实生活中毫无用处.我想要的是通过genReport.bat脚本启动BIRT ReportEngine,指定XML数据源文件的名称作为参数.这应该是微
使用BIRT设计器3.7.1,可以很容易地为 XML文件数据源定义报告;但是,输入文件名最初是作为常量值写入.rptdesign文件的.一开始不错,但在现实生活中毫无用处.我想要的是通过genReport.bat脚本启动BIRT ReportEngine,指定XML数据源文件的名称作为参数.这应该是微不足道的,但令人惊讶的是……

我发现的是:不是在报告定义中将XML数据源文件定义为常量,而是可以使用params [“datasource”].value,它将在运行时由参数值替换.此外,在BIRT Designer中,您可以定义报告参数(数据源)并为其指定默认值,例如“file:// d:/sample.xml”.

然而,它不起作用.这是我在Designer中进行预览尝试的结果:

Cannot open the connection for the driver: org.eclipse.datatools.enablement.oda.xml.
org.eclipse.datatools.connectivity.oda.OdaException: The xml source file cannot be found or the URL is malformed.

ReportEngine,以’genReport.bat -p“开头,datasource = file:// d:/sample.xml”xx.rptdesign“几乎相同.
当然,我确保XML文件存在,并尝试了不同的文件URL拼写.那么,怎么了?

解决方法

What I found out is this: Instead of defining the XML data source file as a constant in the report definition you can use params[“datasource”].value,which will be replaced by the parameter value at runtime.

不,它不会 – 至少,如果您在设计时将& XML数据源文件的值指定为params [“datasource”].value(而不是有效的XML文件路径),那么您将收到错误试图运行报告.这是因为它试图使用文字字符串params [“datasource”].值作为文件路径,而不是params [“datasource”].value的值.

相反,您需要使用事件处理程序脚本 – 特别是beforeOpen脚本.

去做这个:

>在数据资源管理器中左键单击数据源.
>在“主要报表设计”窗格中,单击“脚本”选项卡(而不是“布局”选项卡).应该可以看到一个空白的beforeOpen脚本.
>将以下代码复制并粘贴到脚本中:

this.setExtensionProperty(“FILELIST”,params [“datasource”].value);

如果现在运行报告,则应该发现参数datasource的值用于XML文件位置.

您可以在BIRT Exchange上找到有关参数驱动的XML数据源的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读