历史版本29 :数据连接高级设置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变动
10.0.18
  • 「连接池设置」按钮改名为「高级设置」

  • 部分数据连接支持设置 fetchsize

11.0.2高级设置布局优化

1.2 功能简介

本文将介绍高级设置设置方法及其属性中各参数的意义。

  • 连接池

  • fetchsize

2. 具体介绍编辑

2.1 高级设置

在连接 FineReport 时,用户可以在连接页面进行一些高级设置,平台和设计器都可以设置,如下图所示:

  • 设计器高级设置

9.png

  • 平台高级设置

10.png


2.2 连接池属性参数介绍

  • 常用连接池属性

名称  druid学名默认值
含义  
最大活动连接数maxActive50
连接池在同一时间能够分配的最大活动连接的数量
校验语句validationQuery默认语句
用来检测连接是否有效的 SQL 语句,要求是一个查询语句,常用select 'x' 。用户可自定义该语句。
获取连接前检验testOnBorrow申请连接时执行 validationQuery 检测连接是否有效
最大等待时间maxWait10000
获取连接时最大等待时间,单位毫秒
  • 不太常用的连接池属性(如无特殊场景不建议修改)

名称
druid学名默认值含义
初始化连接数
initialSize0初始化时建立物理连接的个数
最小空闲连接数minIdle0
连接池最小连接数量
归还连接前校验testOnReturn
归还连接时执行validationQuery检测连接是否有效
开启空闲回收器校验testWhileIdle
指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
空闲连接回收器休眠时间timeBetweenEvictionRunsMillis-1
在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位
空闲连接回收检查数

numTestPerEvictionRun

3
在每次空闲连接回收器线程(如果有)运行时检查的连接数量
保持空闲最小时间值minEvictableIdleTimeMillis1800s
连接保持空闲而不被驱逐的最小时间


最大活动连接数设置超过数据库中的连接数目,只能按照数据库中的连接数目为准,如想调至最大,则也要调整数据库中的连接数目,参考文档 连接池满问题 中的解决方案。

2.3 fetchsize 设置

当执行一个 SQL 查询语句的时候,需要在客户端和服务器端都打开一个游标,并且分别申请一块内存空间,作为存放查询的数据的一个缓冲区。这块内存区,存放多少条数据就由 fetchsize 来决定。

用户可在 FineReport 中,对「Oracle、DB2、Postgre」数据连接设置 fetchsize。可输入 1~1,000,000 中的任意数值,若为空则表明不配置此项参数。

11.png

3. 注意事项编辑

如果访问模板时,报连接超时、等待状态,警告如下所示:

警告:Cannot get a connection, pool error Timeout waiting for idle object
at com.fr.third.org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)
at com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at com.fr.data.pool.MemoryConnection.create(Unknown Source)
at com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)

则需要把相应连接数调大。