历史版本26 :[设计器]JDBC连接数据库 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. JDBC连接数据库示例编辑

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

1.1 Access数据库
注:选择数据库类型如Access,会自动加载的驱动器及默认的URL,修改了URL后,由于8.0设计器自带的jdk升级到了1.8版本,不自带有odbc驱动,会导致原来的odbc连接access不能使用,有两种方法,第一种使用jdk1.7版本的设计器,第二种使用第三方UCanAccess-2.0.9.2的jar包
方法一:
我们提供内置jdk1.7的设计器安装包windows_FineReport-CN_jdk1_7.exe
另:这个内置jdk1.7的设计器 不支持三个新功能,消息推送,资讯框,自动更新插件的重启。
  • 新建数据库,选择JDBC方式连接
  • 选择数据库类型,选择驱动器,修改URL
方法二:
  • 下载第三方jar包
需要使用连接access数据库的第三方jdbc驱动UCanAccess-2.0.9.2
注:需要用户自己将对应驱动放置在%FR_HOME%\WebReport\WEB-INF\lib文件夹下。如下图所示:
  • 新建数据库,选择JDBC方式连接,选择数据库类型,选择驱动器,修改URL
驱动器修改为net.ucanaccess.jdbc.UcanaccessDriver;URL修改为jdbc:ucanaccess://access数据库所在的路径;如下图所示:
  • 连接池属性
点击连接池属性可设置该JDBC数据连接的连接池配置,详细请查看JDBC连接池属性,这里使用默认设置,一般性都是用默认设置。
  • 输入用户名、密码,测试连接
如果有用户名密码,输入Access数据库用户名与密码,点击左上方的测试连接,提示成功,数据库连接便定义好了。
注:测试连接成功并不是说已经可以正确地获取到数据库的数据,测试的只是网络连接。
1.2 Oracle数据库
  • 新建数据库,选择JDBC方式连接
  • 选择数据库类型,修改URL
选择数据库类型如Oracle,会自动加载的驱动器及默认的URL,根据实际数据库服务器地址修改URL,如下:
  • 连接池属性
点击连接池属性可设置该JDBC数据连接的连接池配置,详细请查看JDBC连接池属性,这里使用默认设置,一般性都是用默认设置。
  • 输入用户名、密码,测试连接
输入Oracle数据库用户名与密码,点击左上方的测试连接,提示成功,数据库连接便定义好了。
其他数据库连接步骤相同。
注:测试连接成功并不是说已经可以正确地获取到数据库的数据,测试的只是网络连接。

2. 数据库驱动及URL对应表编辑

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

数据库类型    驱动器  URL支持数据库版本  
  Oracle  oracle.jdbc.driver.OracleDriver  jdbc:oracle:thin:@ip:1521:databaseName  Oracle9i、Oracle10g、Oracle11g
  Oracle  oracle.jdbc.driver.OracleDriver  jdbc:oracle:oci:@databaseName  Oracle9i、Oracle10g、Oracle11g
  Sqlite org.sqlite.JDBC  jdbc:sqlite://${ENV_HOME}/../FRDemo.db  Oracle9i、Oracle10g、Oracle11g
 DB2   com.ibm.db2.jcc.DB2Driver  jdbc:db2://ip:50000/databaseName  DB2_7.2、DB2_8.1
  SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver  jdbc:sqlserver://ip:1433;databaseName=xxx  SQL Server2000、2005、2008
  MySQL  com.mysql.jdbc.Driver  jdbc:mysql://ip/databaseName?user=root&useUnicode=True&characterEncoding=gb2312  MySQL4.0版本以上
  MySQL  org.gjt.mm.mysql.Driver  jdbc:mysql://ip/databaseName?user=root&useUnicode=True&characterEncoding=gb2312  MySQL4.0版本以上
  Sybase  com.sybase.jdbc2.jdbc.SybDriver  jdbc:sybase:Tds:ip:5000/databaseName?CHARSET=cp936  Sybase
  Access  sun.jdbc.odbc.JdbcOdbcDriver  jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=${ENV_HOME}\..\FRDemo.mdbAccess  
 Access sun.jdbc.odbc.JdbcOdbcDriver jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *accdb)};DBQ=${ENV_HOME}\..\FRDemo.accdb Access2007及以上版本
 Access net.ucanaccess.jdbc.UcanaccessDriver jdbc:ucanaccess://数据库所在路径Access 
 Derby org.apache.derby.jdbc.ClientDriver jdbc:derby://ip:1527/databaseNameDerby
 Postgre org.postgresql.Driver jdbc:postgresql://ip:5432/databaseName Postgre
  Others  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驱动。

注:如果FR内置没有JDBC数据连接使用的驱动,需要用户自己将对应驱动放置在%FR_HOME%\WebReport\WEB-INF\lib文件夹下,如果放入驱动之后还是连接不上,请注意驱动版本和是否需要辅助jar。