我是新來的Birt。從Java應用程序傳遞連接到Birt報告
我試圖通過從我的Java應用程序報告的連接,但我得到一個錯誤:
The following items have errors:
ReportDesign (id = 1): + There are errors evaluating script "importPackage(Packages.it.lfiammetta.birt); var conn = new ReportRenderer(); reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn);": Fail to execute script in function __bm_beforeOpen(). Source:
" + importPackage(Packages.it.lfiammetta.birt); var conn = new ReportRenderer(); reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn); + "
A BIRT exception occurred. See next exception for more information. Error evaluating Javascript expression. Script engine error: ReferenceError: "ReportRenderer" is not defined. (/report/data-sources/oda-data-source[@id="43"]/method[@name="beforeOpen"]#2) Script source: /report/data-sources/oda-data-source[@id="43"]/method[@name="beforeOpen"], line: 0, text: __bm_beforeOpen(). (Element ID:1)
這是創建和發佈報告我的Java代碼:
package it.lfiammetta.birt;
public class ReportRenderer {
public void executeReport() {
code...
Map<String, Object> appContext = task.getAppContext();
appContext.put("OdaJDBCDriverPassInConnection", myConnection);
appContext.put("OdaJDBCDriverPassInConnectionCloseAfterUse", false);
task.setAppContext(appContext);
task.run();
code...
}
}
這是我在劇本「beforeOpen」數據源寫的代碼:
importPackage(Packages.it.lfiammetta.birt);
var conn = new ReportRenderer();
reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn);
我設置C lasspath。
我使用的Birt版本是4.2.1。
在此先感謝您的幫助,我爲我的英語道歉。