1.1 数据源
概念介绍
数据源形成UniEAP Report与报表数据来源(数据库、数据文件等)的JDBC连接,创建数据集时将从对应的数据源中选择数据表、字段等信息,以及预览报表时从数据库、数据文件等报表数据来源中读取数据。
数据源是为报表服务的,但是数据源和报表之间是相互独立的,一份报表可以使用多个不同的数据源,同样一个数据源也可以被多个报表引用。 UniEAP Report支持的数据源类型:关系数据库SQL数据源(或简称为“SQL数据源”)、XML数据源、存储过程数据源、API数据源、CSV数据源、EXCEL数据源、内建数据源、SAP数据源、DataStore数据源以及JavaBean数据源,并且支持用户自定义扩展数据源类型。
配置数据源
本文提供两种数据源配置方式,更推荐第一种在线配置,其操作简单方便快捷
在线配置
点击平台左侧列表数据,点击数据源管理并点击右上角“+”按钮,添加业务数据源单击相应的数据库,进行相关信息配置
配置好所有信息后,点击测试连接,显示链接成功即可,单击确定完成数据源配置
文件配置
JDBC c3p0连接方式
配置文件connection-config.xml,路径为WEB-INF\conf\unieap\connection\connection-config.xml<c3p0-connection name="northwind_ci"> <url>jdbc:oracle:thin:@10.4.53.89:1521:orcl</url> <driverclass>oracle.jdbc.driver.OracleDriver</driverclass> <user>northwind_ci</user> <password>report_ci</password> <min-pool-size>3</min-pool-size> <max-pool-size>15</max-pool-size> <checkout-timeout>0</checkout-timeout> <max-idle-time>0</max-idle-time> <idle-connection-test-period>0</idle-connection-test-period> <test-connection-on-checkin>false</test-connection-on-checkin> <test-connection-on-checkout>false</test-connection-on-checkout> <max-statements>0</max-statements> <max-statements-per-connection>0</max-statements-per-connection> <acquire-increment>3</acquire-increment> </c3p0-connection>
每个
标签 | 属性 |
---|---|
url | 连接数据源所用路径 |
driverclass | 数据源所用驱动 |
user | 用户名 |
password | 密码 |
min-pool-size | 连接池最小值 |
max-pool-size | 连接池最大值 |
checkout-timeout | 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。Default: 0 |
max-idle-time | 最大空闲时间,x秒内未使用则连接被丢弃,若为0则永不丢弃。Default: 0 |
idle-connection-test-period | 每x秒检查所有连接池中的空闲连接 |
test-connection-on-checkin | 如果设为true那么在取得连接的同时将校验连接的有效性。Default: false |
test-connection-on-checkout | 因性能消耗大请只在需要的时候使用它,如果设为true那么在每个connection提交的时候都将校验其有效性,建议使用idleConnectionTestPeriod或automaticTestTable等方法来提升连接测试的性能 |
max-statements | 用以控制数据源内加载的PreparedStatements数量,但由于预缓存的statements属于单个connection而不是整个连接池,所以设置这个参数需要考虑到多方面的因素,如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 |
max-statements-per-connection | 定义了连接池内单个连接所拥有的最大缓存statements数。Default:0 |
acquire-increment | 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 |
然后配置文件datasource.xml,路径为WEB-INF\conf\unieap\report\datasource.xml,将所配数据库名称添加到
<Category Name="rdb-sql" Caption="关系数据库SQL数据源"
SourceClass="com.neusoft.report.dataset.datasource.impl.JDBCDataSource"
QuerierClass="com.neusoft.report.dataset.executer.jdbc.JDBCDataSetExecuter">
<DataSource Name="northwind" Caption="northwind 样例库"></DataSource>
</Category>
注意:产品默认只提供oracle驱动,如使用其他数据库请将对应版本驱动放入 report/WEB-INF/lib/ 目录下
应用服务器 JNDI 连接池方式
前提:已经在Tomcat中完成JNDI的配置,在connection-config.xml里配置示例如下:
<jndi-connection name="jndi">
<jndi-name>java:comp/env/UNIEAP</jndi-name>
</jndi-connection>
connection name后的“jndi”为指定的任意名称。
“UNIEAP”为可Tomcat配置中指定的JNDI名称。