一、后台编写润乾报表数据库连接地址
<?xml version="1.0" encoding="UTF-8"?>
<reportConfig>
<!--报表系统日志记录配置属性文件-->
<config>
<name>logConfig</name>
<value>/WEB-INF/runqianReportLog.properties</value>
</config>
<!--润乾公司提供的授权文件名及其路径-->
<config>
<name>license</name>
<value>quieeWindowsServer.lic</value>
</config>
<!--编辑好的报表文件在应用中存放的位置-->
<config>
<name>reportFileHome</name>
<value>/raqResource</value>
</config>
<config>
<name>semanticsFile</name>
<value />
</config>
<!--查找数据源时的环境串前缀-->
<!-- tomcat设置:java:/comp/env -->
<!-- websphere weblogic 设置为空 -->
<config>
<name>JNDIPrefix</name>
<value>java:/comp/env</value>
</config>
<!--用户在WEB应用中要用到的数据源配置
数据源的JNDI名称,数据库类型,取数时是否需要转换编码,数据库字符集编码,显示报表时的字符集编码][,SQL是否需要转码];
jndi/mybatis,Oracle,1,iso8859-1,GBK,0;
<value>eastasset,Oracle,GBK;</value>
-->
<!--<config>
<name>dataSource</name>
<value>jndi/mybatis,Oracle,GBK;</value>
</config>-->
<!--报表应用中的JSP页面的字符集-->
<config>
<name>jspCharset</name>
<value>GBK</value>
</config>
<!--是否每次都重新读取报表定义-->
<config>
<name>alwaysReloadDefine</name>
<value>yes</value>
</config>
<!--提交给报表的参数在缓存中保存的时间-->
<config>
<name>cachedParamsTimeout</name>
<value>120</value>
</config>
<config>
<name>cachedReportDir</name>
<value>.reportCache</value>
</config>
<config>
<name>cachedIdPrefix</name>
<value>cache</value>
</config>
<!--提交给报表的参数在缓存中保存的时间-->
<config>
<name>cachedReportTimeout</name>
<value>120</value>
</config>
<!--当前报表系统能运算的最大单元格数,能够动态控制并发数-->
<config>
<name>maxCellNum</name>
<value>100000</value>
</config>
<!--报表WEB应用中服务器可以同时计算的报表的个数-->
<config>
<name>maxConcurrentForReport</name>
<value />
</config>
<!--报表WEB应用中服务器可以等待计算的报表的个数-->
<config>
<name>maxWaitForReport</name>
<value>10</value>
</config>
<!--报表等待计算的最大时间-->
<config>
<name>maxWaitTimeForReport</name>
<value>30</value>
</config>
<!--访问报表时的URL中WEB服务器地址、端口及WEB应用名组成的一个串-->
<config>
<name>appUrlPrefix</name>
<value />
</config>
<!--用来指定tag中的exceptionPage和inputExceptionPage的缺省值-->
<config>
<name>errorPage</name>
<value>/myError.jsp</value>
</config>
<!--数据库连接-->
<jdbc-ds-configs>
<jdbc-ds-config>
<name>cms</name>
<db-type>1</db-type>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521/XE</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>cindatz</user-name>
<password>cindatz</password>
<!--<connection-url>jdbc:mysql://127.0.0.1:3306/cmst3</connection-url>
<driver-class>com.mysql.cj.jdbc.Driver</driver-class>
<user-name>root</user-name>
<!– <password>peAN-z2by9Q</password> –>
<password>root</password>-->
<db-charset>UTF-8</db-charset>
<client-charset>UTF-8</client-charset>
<extend-properties />
</jdbc-ds-config>
</jdbc-ds-configs>
</reportConfig>
二、新建报表
配置报表的全局动态参数(从前台传输过的所有参数,包括数据库的查询参数和其他展示的动态参数)
![]()
配置数据库sql语法
设置sql的入参
注意:这种方式能够做到参数为空时不作为判断条件,但是在润乾报表中需要做到传两个相同的参数。
WHERE (s.AGENCYCODE = ? OR ?='0'))
WHERE (s.AGENCYCODE = ? OR ? is null))
三、表格展示数据
从代码传来的参数显示
//单个数据,直接显示在报表
=@data
//从数据库查出来的数据,单个
=ds1.id
//从数据库查出来的数据,循环
=ds1.select(id)
//从数据库查出来的数据,分组展示
=ds1.group(id)