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

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

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


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

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

1.在项目下创建jdbc连接配置文件:mssql_connect.properties。文件内容如下:

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.选中刚才创建的数据源然后在设计界面中选择“脚本”选项目卡

我们将在beforeOpen面板中编写脚本,脚本内容如下:

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报表打开数据源时将执行这段代码,并完成连接参数的设置。可以看到脚本中配置文件的读取地址还是写死的,这样与不读取配置文件没什么两样。

下面我们将代码改进下:

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





转载于:https://my.oschina.net/u/2552286/blog/614715

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值