1

我有两个数据源,一个基于 jdbc:mysql 的源和一个基于 xml 的源。xml 数据源使用 beforeOpen 脚本来重置 url

this.setExtensionProperty("FILELIST", vars["fullXmlQueryUrl"]);

其中变量 fullXmlQueryUrl 是使用其他两个变量构建的(一个生成时间戳,另一个定义要使用的服务器编号)。

查看“输出列”、“预览结果”或使用图表中的数据源时,一切都很好。但是,当我使用基于 xml 的数据源创建 JOINT 数据集时,出现以下错误:

Fail to execute sript in function __bm_beforeOpen(). Source:
------
" + this.setExtensionProperty("FILELIST", vars["fullXmlQueryUrl"]); + "
------
A BIRT exception occurred.  See next exception for more information.
Error evaluationg Javascript expression.  Script engine error: Report variable "fullXmlQueryUrl" does not exist 
Script soruce: <inline, line: 0, text:
__bm_beforeOpen()
Reason:
A BIRT exception occurred.

但是,如果我在 xml 数据源的脚本选项卡中使用以下脚本,那么它确实可以工作。我只需要修改多个数据源的脚本,而不是参数化 url 的创建。(我有许多相似但不同的 xml url 数据源,将它们参数化使 BIRT 报告的管理更容易。)

this.setExtensionProperty("FILELIST", "http://server07/..."+new Date().getFullYear()+"-"+new Date().getMonth()+"-"+new Date().getDate()+"..... etc.

请注意,通过这项工作,我可以使 url 有一个与“现在”相关的时间,但我不能像需要的那样参数化服务器编号。

那么,如何在数据源的“beforeOpen”脚本中使用变量,该脚本提供两个用于创建联合数据集的数据集?

任何帮助表示赞赏。

4

0 回答 0