birt报表用rptlibrary统一所有报表的数据源

本文介绍如何使用BIRT报表工具中的Library功能来实现数据源的复用,避免因更改数据源而导致的重复劳动。通过具体步骤指导读者如何创建和应用数据源库,提高报表开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于公司项目需要不得不学birt,多亏了某人很菜的培训,是在是对birt喜欢不起来,每一个报表都要设置数据源,上周要部署到演示厅,数据源IP改了,每个报表都要改一遍,虽然只有二十多个,但是简直就是浪费时间和脑细胞,重复的工作本来就可以一开始做好,却偏偏还很有理由的重复做了一百遍,还觉得自己特牛B。真是天理难容!重点是菜哥还不想改,没办法,就算组织没要求,二十多个报表我还得负责差不多一半呢?姐那么懒,明显不能允许这种无聊的重复工作浪费情绪。问度娘,方法还真多,五花八门,试了好几种,都是各种行不通,实在是令人捉急!只好乖乖再去研读一下birt的文档。原来还有这么一个东西叫library!下面是我时间成功了的步骤:

1.选中目录(你想把这个library放在项目里的那个文件夹下就选中哪个),点击eclipse的“新建”-->"library"

2.这是一个rptlibrary文件,默认命名:new_library.tprlibrary(名字可以随便改,后缀不能变)

3.点击“Finish”,默认打开new_library.tprlibrary,目录如下:

在“Data Source”新建数据源,方式和单个报表建立数据源是一样的,起名叫test

测试一下连接数据库是否成功。

4.打开eclipse的resource explore,打开你想引入这个数据源的报表(如:test.rptdesign)打开刚才新建的new_library.tprlibrary,展开Data Source找到刚才新建的数据源test 点击右键add to report

test.rptdesign就把new_library.tprlibrary的数据源加进来了



注意,网上有些说法是把test直接拖过去,那样在修改test的时候拖过去的那个test不会进行改变。一定要add to report过去,还有在修改test的时候不要打开别的报表,否则回询问你是否不在和test关联,一般点"是"以后,在修改data那个报表也不跟着表了,这是因为拖过去的就是拷贝一份现有数据库连接到报表里面。
 数据源添加过去以后,一定在在该报表的xml  source 里面去修改下ds.rptlibrary的路径,默认的路径在网页上查看报表的时候是找不到的, 报错。,
比如我放在了WebRoot/WEB-INF/repor目录,路径是这样的,一定要把前面的名称去掉。

<list-property name="libraries">
        <structure>
            <property name="fileName">WebRoot/WEB-INF/report/new_library.rptlibrary</property>
            <property name="namespace">new_library</property>
        </structure>
    </list-property>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值