birt 报表设计(10)—jdbc数据源

1.建立一个报表项目pl_report ,而后建立一个报表report_1.rptdesign。并为其建立一个jdbc数据源 java

本例是使用sqlServer数据库,且链接驱动是使用jtds-1.3.1.jar。因此这里要加入jtds-1.3.1.jar包如: sql


记住最后将设计好的报表复制到 birt_runtime项目下时也要把jtds-1.3.1.jar加入项目中。设置好参数后就完成了数据源的建立了。 数据库

下面咱们要为该数据源写脚本,让其从配置文件中读取链接参数。 sqlserver

1.在项目下建立jdbc链接配置文件:mssql_connect.properties。文件内容以下: this

database.driver=net.sourceforge.jtds.jdbc.Driver
database.host=192.168.4.30
database.prot=3433
database.userName=test
database.password=test123
database.url=jdbc:jtds:sqlserver://192.168.4.30:3433/AqSc

2.选中刚才建立的数据源而后在设计界面中选择“脚本”选项目卡 url

咱们将在beforeOpen面板中编写脚本,脚本内容以下: spa

importPackage(Packages.java.io);
importPackage(Packages.java.util);

fis = new FileInputStream("E:/WorkSpace/BirtReport/pl_report/mssql_connect.properties");
if(fis!=null){
	props = new Properties();
	props.load(fis);
}

this.setExtensionProperty('odaURL',props.getProperty("database.url"));
this.setExtensionProperty('odaDriverClass',props.getProperty("database.driver"));
this.setExtensionProperty('odaUser',props.getProperty("database.userName"));
this.setExtensionProperty('odaPassword',props.getProperty("database.password"));

if(fis!=null) fis.close();
这样当 report_1.rptdesign报表打开数据源时将执行这段代码,并完成链接参数的设置。能够看到脚本中配置文件的读取地址仍是写死的,这样与不读取配置文件没什么两样。

下面咱们将代码改进下: .net

importPackage(Packages.java.io);
importPackage(Packages.java.util);
importPackage(Packages.java.net);
importPackage(Packages.javax.servlet.http);

req = reportContext.getHttpServletRequest();
url = req.getSession().getServletContext().getResource("/pl_report/mssql_connect.properties");

props = new Properties();
props.load(url.openStream());

this.setExtensionProperty('odaURL',props.getProperty("database.url"));
this.setExtensionProperty('odaDriverClass',props.getProperty("database.driver"));
this.setExtensionProperty('odaUser',props.getProperty("database.userName"));
this.setExtensionProperty('odaPassword',props.getProperty("database.password"));

而后将pl_report直接复制到birt runtime下便可


最后运行该报表便可如: 设计

http://localhost:8080/birt/frameset?__report=pl_report/report_1.rptdesign code

相关文章
相关标签/搜索