1.1 数据源

概念介绍

数据源形成UniEAP Report与报表数据来源(数据库、数据文件等)的JDBC连接,创建数据集时将从对应的数据源中选择数据表、字段等信息,以及预览报表时从数据库、数据文件等报表数据来源中读取数据。

数据源是为报表服务的,但是数据源和报表之间是相互独立的,一份报表可以使用多个不同的数据源,同样一个数据源也可以被多个报表引用。 UniEAP Report支持的数据源类型:关系数据库SQL数据源(或简称为“SQL数据源”)、XML数据源、存储过程数据源、API数据源、CSV数据源、EXCEL数据源、内建数据源、SAP数据源、DataStore数据源以及JavaBean数据源,并且支持用户自定义扩展数据源类型。

配置数据源

本文提供两种数据源配置方式,更推荐第一种在线配置,其操作简单方便快捷

  • 在线配置
    点击平台左侧列表数据,点击数据源管理并点击右上角“+”按钮,添加业务数据源 1 单击相应的数据库,进行相关信息配置 2 配置好所有信息后,点击测试连接,显示链接成功即可,单击确定完成数据源配置 3

  • 文件配置
    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>
    

每个标签就是一个数据源,以name属性作为唯一标识,在标签中配置了关于数据源的一些属性,包括:

标签 属性
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”为指定的任意名称。
java:comp/env/UNIEAP</jndi-name> 中“java:comp/env/”为前缀,必须存在。
“UNIEAP”为可Tomcat配置中指定的JNDI名称。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""