当前位置:文档之家› birt入门教程之数据源配置

birt入门教程之数据源配置

birt入门教程之数据源配置

数据源配置

在布局编辑器中开始设计报表之前,构建BIRT数据源以将报表连接至数据库或其他类型的数据源。构建数据源时,要指定驱动程序类、数据源名称和其他连接信息(例如,用户名和密码)。Birt自带一个已经配置为与BIRT报表设计器配合使用的样本数据库Classic Models,对于本教程使用的是Derby数据库。

1.选择数据资源管理器(Data Explorer)。如果使用缺省报表设计透视图,

则数据资源管理器位于布局编辑器的左边,在选用板(Palette)的旁边,如图所示。如果它尚未打开,则选择窗口->显示视图->数据资源管理器。

2.右键单击Data Sources然后从上下文菜单中选择新建数据源。新建数据

源显示可以创建的数据源的类型,如图所示。

●Classic Models Inc.Sample DataBase———上面说过是BIRT样本数据库。

●Flat File Data Source———从CSV、SSV、TSV、PSV四种格式的文件获取数据源。

●JDBC Data Source———通过配置jdbc连接数据库。

●Script Data Source———通过编写脚本获取数据源。

●Web Services Data Source———通过web service方式获取数据源。

●XML Data Source———从xml文件获取数据源。

3.这里我们介绍通过JDBC Data Source配置数据源。选择JDBC Data Source,输入数据源名称,点击Next,配置Jdbc信息。如下图:

●首先,单击Manage Drivers添加驱动包。如下图:

单击add,选择derby数据库的derbyclient.jar驱动包。点击ok,驱动完成添加。

●配置信息:

Driver Class:org.apache.derby.jdbc.ClientDriver(v10.1)(通过下拉菜单可以找到)

Database URL:jdbc:derby://【host】:1527/【database】

User Name:用户名

Password:密码

4.测试连接,测试前查看derby数据库是否启动;点击Test Connection。

出现Connection successful.对话框表示数据源创建成功。点击Finish完成。

同为比较常用的报表工具,FineReport对数据源的解决方案和实现方法与BIRT有所不同,具体实现思路和步骤如下,供BIRT使用者借鉴:

1、概述

制作报表前首先需要定义数据来源,实际用户系统最长见的就是数据保存在数据库中,并且在不断更新中,使用数据库数据来制作报表,并且报表内容会随着数据库的更新而更新。

FR天然支持这一点,只需要在服务器>定义数据连接中定义需要连接的数据库,就可以自定义查询语句查询出需要的数据,从而制作报表,如下图:数据连接存储在工程中,当用户执行需要访问数据库的操作时这些连接被激活。

一个报表工程可以定义多个数据库连接,所有信息都保存在appName/WEB-INF/resources/datasource.xml配置文件中。

可以通过JDBC、JNDI、SAP、XMLA和FineBI五种方式连接数据库,当报表执行时需要访问数据库时这些连接才会被激活。

注:XMLA和FineBI连接的是多维数据库,其中FineBI是连接帆软的另一款BI产品的数据库。

2.JDBC连接与JNDI连接的区别

?JDBC连接数据库

JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,下面介绍JDBC 连接数据库的方法。

?JNDI连接数据库

JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。

?JDBC和JNDI连接数据库哪个更有优势

使用JNDI连接某个数据源,如名为test,该数据源的所连接的数据库都在应用服务器端定义。因此JNDI连接数据源不需要关心具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?甚至没有数据库连接池或连接管理。而是把这些问题交给J2EE容器来配置和管理,只需要对这些配置和管理进行引用即可。

在报表部署后,如果数据库的相关参数变更,只需要重新修改配置文件中的JDBC参数,只要保证数据源的名称不变,那么数据连接就无需修改。由此可见,JNDI避免了报表与数据库之间的紧耦合,和项目共用服务器的连接池,使应用更加易于配置、易于部署。

JDBC就是直接连接物理数据库,连接数据库比较快,但在程序中使用的话就比较烦琐,每次连接都要有一定的编码,和数据库的连接需要手动关闭。

2.1JDBC连接数据库示例

我们以连接Oracle数据库为例介绍JDBC方式连接一个数据库的操作步骤。

?新建数据库,选择JDBC方式连接

?选择数据库类型,修改URL

选择数据库类型如Oracle,会自动加载的驱动器及默认的URL,根据实际数据库服务器地址修改URL,如下:

?连接池属性

点击连接池属性可设置该JDBC数据连接的连接池配置,详细请查看JDBC 连接池属性,这里使用默认设置,一般性都是用默认设置。

?输入用户名、密码,测试连接

输入Oracle数据库用户名与密码,点击左上方的测试连接,提示成功,数据

库连接便定义好了。

其他数据库连接步骤相同。

注:测试连接成功并不是说已经可以正确地获取到数据库的数据,测试的只是网络连接。

2.2数据库驱动及URL对应表

以下列出设计器中支持的数据库及对应的连接属性值:

库类型驱动器URL

支持数

据库版

Ora cle oracle.jdbc.driver.Oracl

eDriver

jdbc:oracle:thin:@ip:1521:data

baseName

Oracle

9i、

Oracle

10g、

Oracle

11g

Ora cle oracle.jdbc.driver.Oracl

eDriver

jdbc:oracle:oci:@databaseNa

me

Oracle

9i、

Oracle

10g、

Oracle

11g

Sqli te org.sqlite.JDBC

jdbc:sqlite://${ENV_HOME}/../

FRDemo.db

DB 2com.ibm.db2.jcc.DB2Dr

iver

jdbc:db2://ip:50000/database

Name

DB2_7.

2、

DB2_8.

1

SQ

L Ser ver com.microsoft.sqlserve

r.jdbc.SQLServerDriver

jdbc:sqlserver://ip:1433;datab

aseName=xxx

SQL

Server

2000、

2005、

2008

SQ

L Ser ver net.sourceforge.jtds.jd

bc.Driver

jdbc:sqlserver://ip:1433;datab

aseName=xxx

SQL

Server

2000、

2005、

2008

My

SQ L com.mysql.jdbc.Driver

jdbc:mysql://ip/databaseNam

e?user=root&useUnicode=Tru

e&characterEncoding=gb231

2

MySQ

L4.0版

本以上

My SQ L org.gjt.mm.mysql.Drive

r

jdbc:mysql://ip/databaseNam

e?user=root&useUnicode=Tru

e&characterEncoding=gb231

2

MySQ

L4.0版

本以上

Syb ase com.sybase.jdbc2.jdbc.

SybDriver

jdbc:sybase:Tds:ip:5000/datab

aseName?CHARSET=cp936

Sybas

e

Acc ess sun.jdbc.odbc.JdbcOdb

cDriver

jdbc:odbc:Driver={Microsoft

Access Driver

(*.mdb)};DBQ=${ENV_HOME}\.

.\FRDemo.mdb

Access

Acc ess sun.jdbc.odbc.JdbcOdb

cDriver

jdbc:odbc:Driver={Microsoft

Access Driver(*.mdb,

*accdb)};DBQ=${ENV_HOME}\.

.\FRDemo.accdb

Access

2007

及以上

版本

Der by org.apache.derby.jdbc.

ClientDriver

jdbc:derby://ip:1527/database

Name

Derby

Pos

tgr e org.postgresql.Driver

jdbc:postgresql://ip:5432/data

baseName

Postgr

e

Oth ers org.hsqldb.jdbcDriver

jdbc:hsqldb:file:[PATH_TO_DB_

FILES]

Hsql

注:在进行数据连接的时候要注意驱动器支持的数据库版本,如果选择的数据库版本不在上述表格中,那么就需要更换驱动器。

示例

使用oracle数据库的时候,没有使用上述表格中所说的版本,而是oracle7.2.3,那么需要把oracle7中jdbc/lib目录下的classes12.jar放进FR 的WEB-INF/lib中,同时删除ojdbc14.jar。相当于换了一个oracle驱动。

相关主题
文本预览
相关文档 最新文档