私はバートが初めてです。
Java アプリケーションからレポートへの接続を渡そうとしていますが、次のエラーが発生します。
次の項目にエラーがあります:
ReportDesign (id = 1): + スクリプトの評価中にエラーが発生しました "importPackage(Packages.it.lfiammetta.birt); var conn = new ReportRenderer(); reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn);":関数 __bm_beforeOpen() でスクリプトを実行できませんでした。ソース:
" + importPackage(Packages.it.lfiammetta.birt); var conn = new ReportRenderer(); reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn); + "
BIRT 例外が発生しました。詳細については、次の例外を参照してください。Javascript 式の評価中にエラーが発生しました。スクリプト エンジン エラー: ReferenceError: "ReportRenderer" が定義されていません。(/report/data-sources/oda-data-source[@id="43"]/method[@name="beforeOpen"]#2) スクリプトソース: /report/data-sources/oda-data-source[ @id="43"]/method[@name="beforeOpen"]、行: 0、テキスト: __bm_beforeOpen()。(要素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);
クラスパスを設定しました。
私が使用しているバートのバージョンは 4.2.1 です。
あなたの助けを前もって感謝し、私の英語についてお詫び申し上げます。