公司项目需要,要求接入水晶报表,但是本人之前完全没有接触过水晶报表,结果为了完成任务,只能硬着头上了。期间遇到许多麻烦,总算是将水晶报表接入到了freemarker项目了,结果现在被水晶报表数据源的动态设定给难住了。现在针对这个问题做下总结。

一、项目要求

1. 水晶报表的调用需要用pull模式,即系统只提供数据库连接信息和查询参数,其他的工作由水晶报表本身完成,如查询sql,数据库连接

2. 系统保证各个数据库的查询表结构一致,系统需要支持数据源的动态化,根据提供的数据库连接信息进行更改。

二、问题情况

为了完成要求,到网上查询资料,借书翻阅,发现水晶报表链接数据库的方法主要就介绍两种:

1. 用rpt本身内含的数据源链接,代码只传入用户名和密码;

2. 采用push模式,也就是由系统链接数据库后查询出数据再赋值给报表展示;

第一种肯定是没有满足要求,因为这种方式的数据库链接已经限定为了rpt设置内容,如果要更换数据源,就需要重新设置rpt再上传,在实际的使用过程中肯定不满足。

第二种方法虽然可以实现动态的更改数据源,但是这种方式水晶报表的应用就比较简单了,基本上只当显示控件使用,而且跟项目要求也有出入,只能在最终没有其他解决方法的时候才考虑。

三、解决方案

四、参考文献地址

http://my.oschina.net/l1z2g9/blog/157279

java 接入水晶报表实现代码自定义数据源(新手接触水晶报表)相关推荐

  1. winform定义数据源名称_WinForm中使用CrystalReport水晶报表——基础,分组统计,自定义数据源...

    开篇 本篇文章主要是帮助刚开始接触CrystalReport报表的新手提供一个循序渐进的教程.该教程主要分为三个部分1)CrystalReport的基本使用方法:2)使用CrystalReport对数 ...

  2. java调用权报表的代码_ireport5.6使用table组件,如何用table显示javaBean数据源

    1.从组件面板添加一个table组件到报表中. 2.设计table的字段头. 合并操作 1. 2. 删除你不需要的列 新增你的合并列 3.在报表Parameters里新增一个参数dets(java.u ...

  3. JAVA水晶报表从环境搭建到创建动态水晶报表

    首先第一步贴上项目截图(少了一个rpt_report文件夹,因为是网上的所以这里没加,各位可以加下):声明该项目是网上下载.(比较简单,纯属偷懒,有现成环境).可以自己修改,需要注意的就是蓝色标记的地 ...

  4. 水晶报表填充.Net Objects数据源

    Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表.是业内最专业.功能最强的报表系统. 查看网络资料及课本图书,鲜有介绍通过.NET Objects作为数据源 ...

  5. 报表开发之自定义函数

    对于报表开发,很多情况下,自带的函数就能满足大部分用户的报表制作需求,FineReport也不例外.但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,FineReport提供了自定义函数机制, ...

  6. Java使用get请求接收List集合数据(json)并导出报表

    Java使用get请求接收List集合数据(json)并导出报表 文章目录 Java使用get请求接收List集合数据(json)并导出报表 前言 一.实现分析 二.Maven依赖(基于EasyExc ...

  7. Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目[Java通用框架源码及开发视频教程]

    Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目 功能简介: A.代码生成器(开发利器) 生成Java各层次的类和JSP等文件,提高开发效率 B.阿里巴巴 ...

  8. Java接入支付宝支付测试买iPhone13 pro max

    Java接入支付宝支付 一.介绍 二.沙箱 三.支付流程 四.准备支付宝 五.代码 1.前端代码 2.后端代码 六.测试 一.介绍 支付宝官方网站 支付宝(中国)网络技术有限公司是国内的第三方支付平台 ...

  9. Java接入支付宝支付超级详细教程——从入门到精通

    ​ Java接入支付宝支付教程 源码下载 源码获取:点击获取源码 本文介绍了"二维码付款"的代码.其他支付方式的代码都在源码中. 一.创建应用 1.登录支付宝开放平台 支付宝开放平 ...

最新文章

  1. PAT甲级1050 String Subtraction:[C++题解]字符串作差
  2. Android底层禁用WiFi和蓝牙功能
  3. python中class __str__怎么用_python中下划线的作用
  4. Facets:评估机器学习数据集质量利器 (来自Google、可交互、可可视化)
  5. chm帮助文档出现乱码
  6. 晒晒今年淘宝网买的李宁鞋子
  7. 百度分享插件wbuid属性无法@指定微博
  8. Android|Qt笔记-某App注册机思路总结
  9. 数据结构-树的基础代码
  10. 容器编排技术 -- Kubernetes kubectl 与 Docker 命令关系
  11. PHP利用Mysql锁解决高并发
  12. 动手学深度学习(PyTorch实现)(十)--NiN模型
  13. FixedThreadPool 使用方法测试
  14. html canvas blob image 污染源
  15. Leetcode每日一题:108.convert-sorted-array-to-binary-search-tree(有序数组转成BST)
  16. 标准正态分布表完整图 查询_正态分布基本概念及Excel实现
  17. scrollbars属性,MultiLine 属性
  18. CANOpen协议详解(一):CANfestival源码分析
  19. CAN总线基础知识点
  20. DDL、DML和DCL的理解(1、总述)

热门文章

  1. 倍福--伺服配置和电机型号设置
  2. ZStack通信(Zigbee协议栈通信)
  3. 校园现金元外交 小学生用压岁钱打点班干部
  4. 关于BMA连接器,你想知道的都在这里
  5. Adobe Photoshop CC2021【PS 2021】官方中文免费版
  6. 计算机科学与技术专业领域代码,专业领域代码和名称.doc
  7. JavaSE、JavaEE和JavaME之间的区别
  8. laydate中的默认日期选择及 date中如何选择下个月整月的时间
  9. 我的CSDN笔记总索引(阅读量降序,代码自动遍历生成HTML5源码)
  10. 文本框控件TextBox(文本类控件)