我有一个连接到测试数据库的BIRT报表。在生产环境中,我希望提供由容器通过jndi提供的数据源。
如何为给定的报表编程设置数据源?
...
IReportRunnable design = birtEngine.openReportDesign ( new File ( properties.getProperty ( "reportPath" ), report + ".rptdesign" ).getAbsolutePath () );
IRunAndRenderTask task = birtEngine.createRunAndRenderTask ( design );
PDFRenderOption options = new PDFRenderOption ();
options.setOutputFormat ( PDFRenderOption.OUTPUT_FORMAT_PDF );
options.setOutputStream ( out );
task.setRenderOption ( options );
for ( Entry<String, Object> entry : parameters.entrySet () )
{
task.setParameterValue ( entry.getKey (), entry.getValue () );
}
task.run ();
task.close ();
...
我想我需要修改design
,但另一方面task
有一个setDataSource
方法,但那看起来有点像我需要提供一些XML dom元素。