在报表项目中,当数据计算较为复杂的时候,报表开发人员可能会考虑是否用存储过程来实现报表数据源准备。这里,我们从几个不同的方面来看一下,用存储过程来实现报表数据源计算的利和弊。
一、 性能
说到存储过程的优点,性能是最常被提及的。存储过程进行报表数据计算的时候,不需要将数据取出数据库,会获得较高的性能。其主要原因是数据库IO通道(例如:JDBC)效率一向很差,大量数据取出来很费时...
分类:
其他好文 时间:
2014-12-18 15:12:03
阅读次数:
146
报表在数据源准备阶段往往要根据实际业务进行各种判断计算以后才能得到最终的报表数据源,而使用SQL在这种情况下则难于编写,http://bbs.csdn.net/topics/390938280中提到的考勤问题就是其中之一,这个计算看起来是给财务或人力部门的考勤报表服务的。计算逻辑并不算复杂,但使..
分类:
其他好文 时间:
2014-12-11 19:26:14
阅读次数:
280
有这么一些报表,取数后还需要进行一定计算后才能供报表展现输出,这要求报表工具具有数据源再计算的能力。
传统工具会依赖报表工具自身的计算能力,但报表工具计算能力弱导致很多计算完不成;或者借助存储过程完成(如果数据来源于数据库),且不论存储过程的编写难度,像跨库或数据库文件混合数据源,存储过程根本无法完成;不得已使用高级语言为报表自定义数据源提供数据源再计算,但Java做诸如集合运算的难度并不轻松。...
分类:
其他好文 时间:
2014-12-02 10:37:31
阅读次数:
260
报表数据源计算中经常会使用到集合运算,SQL对集合运算的支持使得大部分简单的集合运算都能轻松完成。但是,当集合运算比较复杂,需要使用存储过程完成时,由于存储过程对集合运算的支持不够,也无法使用中间结果导致这类运算实现起来非常困难。像http://bbs.csdn.net/topics/3..
分类:
其他好文 时间:
2014-11-24 12:05:27
阅读次数:
292
水晶报表打印问题:
ReportDocument aReportDocument = new ReportDocument();
//加载报表
aReportDocument.Load(@Application.StartupPath + Properties.Settings.Default.MainReportPath);
//子报表数据源
aReportDocument.Subr...
分类:
其他好文 时间:
2014-11-20 20:29:35
阅读次数:
236
报表应用中当数据量较大或计算过程较复杂时,会导致报表数据源准备过慢,从而影响报表性能。这时常常需要事先将报表需要的数据计算好,在呈现时直接引用即可,这样用户在访问报表时就可以迅速地获得响应。当前的手段及弊端由于报表在访问时还需要参数,显然不可能把所有参数组..
分类:
其他好文 时间:
2014-11-18 11:57:01
阅读次数:
206
环境要求:到http://www.eclipse.org/downloads/下载 Eclipse IDE for Java and Report Developers 工具 第一步:创建一java项目ReportJava; 第二步:创建包yss.com并编写一实体类User 作为报表中的数据对象 pa...
分类:
编程语言 时间:
2014-09-10 17:58:01
阅读次数:
387