网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > J2EE > JDBC/JDO > 用DB2 UDB版本8开发企业Java应用程序  

用DB2 UDB版本8开发企业Java应用程序

2006-01-07  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

DB2 JDBC 技术 网管bitscn_com

  按照 JDBC 2 规范,有四种类型的 JDBC 驱动程序体系结构:

网管联盟bitsCN@com

  • 类型 1 — 这类驱动程序将 JDBC API 作为到另一类数据访问 API 的映射来实现,如开放式数据库连接(ODBC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDBC-ODBC 桥驱动程序就是类型 1 驱动程序的示例。
  • 类型 2 — 这类驱动程序部分用 Java 编程语言编写,部分用本机代码编写。这类驱动程序使用专门针对所连接数据源的本机客户机库。同样,由于使用本机代码,所以其可移植性受到限制。
  • 类型 3 — 这类驱动程序使用纯 Java 客户机,并使用独立于数据库的协议与中间件服务器进行通信。然后,中间件服务器将客户机请求传给数据源。
  • 类型 4 — 这类驱动程序是用纯 Java 语言编写,实现针对特定数据源的网络协议。客户机直接与数据源连接。

  DB2 版本 8 支持类型 2、3 和 4 的 JDBC 驱动程序。前一个发行版中的 JDBC 驱动程序构建于 DB2 CLI(调用层接口,Call Level Interface)之上。DB2 版本 8 的类型 2 和类型 3 驱动程序继续使用 DB2 CLI 接口来与 DB2 UDB 服务器(OS/390® 和 z/OS™、UNIX®、Windows®、Linux 和 iSeries™)通信。 DB2 版本 8 添加了一种新的 DB2 JDBC 通用驱动程序(类型 4),它使用分布式关系数据库体系结构(Distributed Relational Database Architecture™(DRDA®))协议来进行客户机/服务器通信。

网管u家www.bitscn.net

  DB2 JDBC 应用程序驱动程序(类型 2)

网管朋友网www_bitscn_net

  DB2 JDBC 应用程序(类型 2)驱动程序( 图 1)使 Java 应用程序能够通过 JDBC 调用 DB2。对 JDBC 应用程序驱动程序的调用被转换成 Java 本机方法。使用这种驱动程序的 Java 应用程序必须在 DB2 客户机上运行,JDBC 请求通过该客户机流到 DB2 服务器。需要 DB2 Connect™ 版本 8 许可证/安装来访问 DB2 for OS/390 数据库。 网管论坛bbs_bitsCN_com


图 1. DB2 Java 应用程序体系结构
DB2 Java 应用程序体系结构

  在 COM.ibm.db2.jdbc.app包中包含了 DB2 JDBC 应用程序(类型 2)驱动程序。

网管网www.bitscn.com

JDBC 1 连接
  用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管联盟bitsCN@com

  • COM.ibm.db2.jdbc.app.DB2Driver

JDBC 2 连接 
   用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管有家www.bitscn.net

  • COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
  • COM.ibm.db2.jdbc.DB2DataSource
  • COM.ibm.db2.jdbc.DB2XADataSource

  要将应用程序配置成使用由 DB2 JDBC 应用程序(类型 2)驱动程序实现的 DataSource,需要下列信息:

网管u家www.bitscn.net

databaseName数据库名称。

网管联盟bitsCN_com

user用于连接数据库的用户标识。

网管网www_bitscn_com

password 用于连接数据库的密码。 网管u家bitscn.net

用于 JDBC 和 SQLJ 的 DB2 瘦客户机驱动程序 网管u家u.bitscn@com

  DB2 UDB 版本 8 为 JDBC 和 SQLJ 应用程序提供了类型 3 和类型 4“瘦”驱动程序。 图 2 描述了这两种驱动程序的体系结构。

网管u家u.bitscn@com


图 2. DB2 JDBC/SQLj 瘦驱动程序体系结构
DB2 JDBC/SQLj 瘦驱动程序体系结构

DB2 JDBC 类型 3 驱动程序 中国网管联盟bitsCN.com

  DB2 JDBC 类型 3 驱动程序,也称为 applet 或网络驱动程序,它由 JDBC 客户机和 JDBC 服务器组成。DB2 JDBC applet 驱动程序可以与 applet 一起由 Web 浏览器装入,或者可以在单独的 Java 应用程序中使用 applet 驱动程序。当 applet 请求至 DB2 数据库的连接时,applet 驱动程序打开至 DB2 JDBC applet 服务器的 TCP/IP 套接字,DB2 JDBC applet 服务器位于正在运行 Web 服务器的机器上。

网管论坛bbs_bitsCN_com

  建立好连接之后,applet 驱动程序通过 TCP/IP 连接将每个随后来自 applet 的数据库访问请求发送到 JDBC 服务器。然后,JDBC 服务器进行相应的 DB2 调用以执行任务。完成后,JDBC 服务器通过该连接将结果发回 JDBC 客户机。JDBC 服务器进程是 db2jd。 网管u家bitscn.net

  在 COM.ibm.db2.jdbc.net包中包含了 DB2 JDBC 类型 3 驱动程序。 中国网管联盟bitsCN.com

JDBC 1 连接
  用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管下载dl.bitscn.com

  • COM.ibm.db2.jdbc.net.DB2Driver

JDBC 2 连接
  用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管bitscn_com

  • COM.ibm.db2.DB2ConnectionPoolDataSource
  • COM.ibm.db2.DB2DataSource

  要将应用程序配置成使用由 DB2 JDBC 类型 3 驱动程序实现的数据源,需要下列信息: 网管联盟bitsCN_com

databaseName数据库名称。

网管联盟bitsCN@com

serverName JDBC applet 服务器进程所驻留的服务器名。 网管下载dl.bitscn.com

portNumber JDBC applet 服务器进程使用的端口号(缺省端口是 6789)。 网管联盟bitsCN@com

user  用于连接到数据库的用户标识。

网管u家u.bitsCN.com

password 用于连接到数据库的密码。 网管联盟bitsCN_com

  DB2 JDBC 类型 3 驱动程序没有提供 Java 事务 API(JTA)支持。JTA 提供了一个接口来完成分布式(两阶段提交)事务。

网管u家bitscn.net

IBM DB2 JDBC 通用驱动程序(类型 4 — 版本 8 中的新增功能)

网管bitscn_com

  在 DB2 版本 8 中,对 JDBC 驱动程序添加了许多新的特性和增强。在这些变化当中,最大的变化是体系结构的改进,它缩短了 JDBC 驱动程序和 DB2 服务器之间的代码路径。这种新的 IBM JDBC 通用驱动程序基于开放分布式协议(也就是分布式关系数据库体系结构(DRDA)),并与所有 DB2 服务器平台(UNIX、Windows、Linux 和 z/OS)相兼容,不过这些服务器平台必须具备相应的 DRDA 应用程序服务器(Application Server (AS))级别的支持,以及必须预先具备的存储过程。

网管朋友网www_bitscn_net

  新的 IBM DB2 JDBC 通用驱动程序所独有的特性包括: 网管u家bitscn.net

  • 可更新的 ResultSet 支持
  • 改进的 DB2 认证安全性
  • 改进的 Java SQL 错误信息
  • 程序性跟踪工具

  要使用 JDBC 通用驱动程序,在 Java CLASSPATH 环境变量中必须包含 db2jcc.jar 。

网管u家u.bitsCN.com

  DB2 JDBC 通用驱动程序类型 4 驱动程序包含在com.ibm.db2.jcc 包中。 网管联盟bitsCN@com

JDBC 1 连接

网管下载dl.bitscn.com

  DB2 UDB 版本 8 服务器将使用在 DB2 DBM 配置文件(SVCENAME)中指定的 TCP/IP 连接来与新的 DB2 JDBC 通用驱动程序通信。

网管朋友网www_bitscn_net

  用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管u家www.bitscn.net

  • com.ibm.db2.jcc.DB2Driver

  可以使用下面的 URL 创建连接对象:jdbc:db2://server:port/database 中国网管联盟bitsCN.com

JDBC 2 连接 网管u家www.bitscn.net

用于建立至 DB2 UDB 服务器的连接的实现类包括:

网管bitscn_com

  • com.ibm.db2.jcc.DB2SimpleDataSource

  要将应用程序配置成使用由 DB2 JDBC 通用驱动程序(类型 4)实现的 DataSource,需要下列信息:

网管下载dl.bitscn.com

databaseName数据库名称。 网管网www_bitscn_com

user 用于连接数据库的用户标识。 网管联盟bitsCN@com

password 用于连接数据库的密码。

网管网www_bitscn_com

driverType所使用的驱动程序类型(4)(必需)。

网管联盟bitsCN_com

serverNameDRDA 服务器的 TCP/IP 地址或主机名。 网管朋友网www_bitscn_net

portNumber DRDA 服务器用来侦听至数据源的连接请求的 TCP/IP 端口号。 网管论坛bbs_bitsCN_com

请参考 附录 A,以获取其它 DB2 JDBC 通用驱动程序(类型 4)信息。 网管有家bitscn.net

SQLJ 支持(版本 8 中的新体系结构)

中国网管联盟bitsCN.com

  DB2 SQLJ 支持允许您构建和运行 SQLJ applet 和应用程序。这些 Java 程序包含被预编译并绑定到 DB2 UDB 数据库的嵌入式 SQL 语句。

网管联盟bitsCN_com

  SQLJ 标准有三个组件:转换器、定制器和运行时环境。转换器根据源 SQLJ 程序内部的嵌入式 SQL 语句产生 Java 代码。SQL 语句的二进制表示是在一个单独的序列化概要文件( .ser 文件)中创建的。当使用 db2sqljcustomize 命令定制该概要文件时,会创建静态 SQL 包。SQLJ 应用程序需要 db2jcc.jar 文件,SQLJ 程序准备同样需要 sqlj.zip 文件。 中国网管联盟bitsCN.com


图 3. SQLJ 应用程序开发
SQLJ 应用程序开发

SQLJ 提供了: 网管有家bitscn.net

  • 静态包级别的安全性模型
  • 静态 SQL 接口(例如, SELECT xxx INTO :hv1, :hv2 )
  • 与 JDBC 相比,提高了开发生产率,尤其是当从现有的嵌入式 SQL 体系结构(C 和 COBOL 等)移植应用程序时。

  DB2 版本 8 提供了下列 SQLJ 实用程序,如 图 3中所示:

中国网管论坛bbs.bitsCN.com

  sqlj IBM SQLJ 转换器。它转换 .sqlj 源文件并创建序列化概要文件和程序。

网管联盟bitsCN_com

  db2sqljcustomize定制器和在线检查器。它为序列化概要文件创建 DB2 定制,可以选择在线检查能够动态预编译的 SQL 语句,也可以选择(缺省情况下)为该程序绑定 DB2 包。,并随意地(缺省情况下)为该程序绑定 DB2 包。 网管朋友网www_bitscn_net

  db2sqljbind独立的绑定器。它将先前定制的 SQLJ 概要文件绑定到数据库。 网管u家www.bitscn.net

  db2sqljprint打印 DB2 定制概要文件的内容。

网管u家u.bitscn@com

  在 sqlj 程序在运行时对 DB2 执行静态 SQL 之前,必须定制从 sqlj 转换器输出的序列化概要文件。如果没有进行定制,则应用程序将动态执行包含在概要文件中的 SQL 语句。

网管网www.bitscn.com

Java 2 平台,企业版(J2EE)

网管网www_bitscn_com

  Java 2 平台,企业版(J2EE)定义用于开发多层企业应用程序的标准。J2EE 平台管理基础结构并支持 Web 服务,以开发安全的、健壮的和能够互操作的企业应用程序。J2EE 不仅利用了 Java 2 平台,标准版(J2SE)的许多特性(如“编写一次,就可以到处运行(Write Once, Run Anywhere)”的可移植性和用于数据库访问的 JDBC API ),而且还添加了对 Enterprise JavaBeans™(EJB)组件、Java Servlet、JavaServer Pages™(JSP)和 XML 技术的全面支持。有了简单性、可移植性、可伸缩性以及与旧系统的集成,J2EE 技术及其基于组件的模型就可以简化企业开发和部署。 网管网www_bitscn_com


图 4. J2EE 应用程序模型
J2EE 应用程序模型

  J2EE 应用程序模型将企业应用程序分成三个基础部分: 组件、 容器和 连接器。组件是应用程序开发人员的主要关注点,而系统供应商实现容器和连接器以隐藏复杂性和提高可移植性。容器在客户机和组件之间进行协调,并透明地为两者提供服务,包括事务支持和资源合用。容器协调允许在部署时指定许多个组件行为,而不是在程序代码中指定。连接器位于 J2EE 平台之下,定义可移植的服务 API 以插入现有企业供应商所提供的东西。连接器通过启用各种特定服务的实现来提高灵活性。 网管下载dl.bitscn.com

DB2 UDB 版本 8 中的 Java 技术

网管论坛bbs_bitsCN_com

  就象用其它语言一样,可以用 Java 创建存储过程和 SQL 语言扩展(又称为用户定义的函数)。必须在数据库中使用 CREATE PROCEDURE 语句注册存储过程。可以使用 CREATE FUNCTION 语句注册基于 Java 的 UDF。然后,可以使用任何受支持的客户机 API(如 JDBC、ODBC 和 SQLJ)从应用程序调用存储过程。可以使用任何 SQL 语句调用基于 Java 的 UDF。可以在其自己的地址空间(FENCED)或与 DB2 UDB 相同的地址空间(NOT FENCED)中执行该存储过程或 UDF。 网管联盟bitsCN@com

  现在,在 DB2 UDB 版本 8 中,可以将 Java 存储过程和 UDF 注册为 THREADSAFE 或 NOT THREADSAFE。Java 过程和函数的 THREADSAFE 选项将导致在 DB2 UDB 服务器上使用单个 JVM(Java 虚拟机)。版本 8 中 Java 过程和函数的缺省选项是 THREADSAFE,所以对于并发的 Java 存储过程,需要更少的内存。因为不再需要装入多个 JVM,所以还可以改进性能。 网管u家www.bitscn.net

TAGs   应用程序   版本   DB2   JDBC   驱动程序   服务器   连接   Java   类型      
 上一篇:oracle 事务隔离级别,用jdbc体验   下一篇:Java 数据库连接驱动程序类型
用DB2 UDB版本8开发企业Java应用程序 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: