搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

支持的 JDBC 驱动程序

级别: 初级

Peggy Rader
高级软件工程师, IBM
2004 年 9 月

本文将描述在 OS/390® 和 z/OS® 平台上使用 DB2 stored procedure builder (SPB) 或 DB2 Development Center (DC) 创建 Java™ 存储过程时,可用的一些 JDBC 驱动程序选项。

概述
DB2 SPB 和 DB2 DC 在下列三种情况下会使用 JDBC 驱动程序:

  • 服务器连接。
  • Java SQLJ 存储过程的构建过程。
  • Java SQLJ 存储过程和 Java JDBC 存储过程的运行时环境,由 WLM SPAS //JAVAENV 语句决定。

 

图 1. 概述

当使用 DB2 UDB V7.2 中的 SPB 或 DB2 UDB V8.1 中的 DC 时,都要用 Legacy JDBC Driver 作为进行服务器连接和构建 Java 存储过程的构建过程的驱动程序。当使用 DB2 v8.2 中附带的 DC 时,可以选择 legacy JDBC 驱动程序与 Universal JDBC 驱动程序中的任意一种来完成对服务器的连接。当在 DB2 for z/OS V8 服务器上使用 DB2 "Stinger" 中的 DC 来创建 Java 存储过程时,可以选择 legacy JDBC 驱动程序与 Universal JDBC 驱动程序中的任意一种完成创建。

构建过程生成 Java 代码
SPB 和 DC 执行的构建过程在使用默认语法 "jdbc:default:connection" 的 Java 存储过程中生成连接。这消除了存储过程源代码中的 JDBC 驱动程序的差异性。实际上,JDBC 驱动程序的差异性体现在定制过程中用于 Java SQLJ 存储过程的 *.ser 文件中。对于 Legacy JDBC 驱动程序,SPB 或 DC 使用 DB2PROFC 来执行定制,对于 Universal JDBC 驱动程序,DC 使用 DB2SQLJCUSTOMIZE 来执行定制。

运行时决定 JDBC 驱动程序
对于 Java SQLJ 存储过程和 Java JDBC 存储过程,用于运行时的 JDBC 驱动程序都是由 WLM SPAS 中的 //JAVAENV 语句决定的,WLM SPAS 也是执行存储过程的地方。如果指定了 JCC_HOME 环境变量,则使用 Universal JDBC Driver。如果 //JAVAENV 语句中同时包括了 DB2_HOME 和 JCC_HOME,则选择 Legacy JDBC 驱动程序。DB2_HOME 的默认目录结构是 /usr/lpp/db2/db2710。JCC_HOME 的默认目录结构是 /usr/lpp/db2/db2710/jcc。要获得关于 //JAVAENV 语句的更多细节,请参阅 IBM Redbook(手册编号 SG24-7083)中的第 17.2.6 节, DB2 for z/OS Stored Procedures: Through the CALL and Beyond

表 1: 用于服务器连接、构建和运行时的 SPB 和 DC JDBC 驱动程序选项

Legacy driver type 2 connectivity
(请参见 Note 1)
Universal driver type 2 connectivity
(请参见 Note 2)
Universal driver type 4 connectivity
(请参见 Note 2)
SPB
-Server connection Y - -
- Java SQLJ SP build (使用 DSNTJSPP on z/OS) Y - -
- Runtime for Java JDBC Y Y -
- Runtime for Java SQLJ (请参见 Note 3) Y - -
DB2 UDB 8.1 中的 DC
-Server connection Y - -
- Java SQLJ SP build (使用 DSNTJSPP on z/OS) Y - -
- Runtime for Java JDBC (请参见 Note 3) Y Y -
Runtime for SQLJ Y - -
DB2 "Stinger" 中的 DC
- Server connection Y Y Y
-Java SQLJ SP build (使用 DSNTJSPP on z/OS) Y - -
- Java SQLJ SP build (不使用 DSNTJSPP on z/OS) - Y (请参见 Note 4) -
- Runtime for Java JDBC (请参见 Note 3) Y Y -
- Runtime for Java SQLJ Y Y (请参见 Note 4) -

注解:

  1. 需要 DB2 Connect。
  2. 只需一个 DB2 Connect 许可。
  3. 与 Java SQLJ 存储过程不同,Java JDBC 存储过程在 SPB 或 DC 创建的存储过程中不包括驱动程序的定义,例如,不存在 *.ser 文件,因此可以使用 DB2 提供的存储过程、DSNTJSPP(用在 DB2 for OS/390 V7 上或者 DB2 for z/OS V8 上)或不使用 DSNTJSPP(只用在 DB2 for z/OS V8 上)来创建 Java JDBC 存储过程。Java JDBC 存储过程只能决定在存储过程的 运行时用于该存储过程的驱动程序。如果 Java 存储过程执行时所在的 WLM proc 中有指向 DB2_HOME 的语句,其中 DB2_HOME 的默认目录为 /usr/lpp/db2/db2710,则使用 Legacy JDBC 驱动程序。如果 Java 存储过程执行时所在的 WLM proc 中有指向 JCC_HOME 的语句,其中 JCC_HOME 的默认目录是 /usr/lpp/db2/db2710/jcc,则使用 Universal JDBC 驱动程序。
  4. 只适用于 DB2 for z/OS V8,请参阅 IBM Redbook,SG24-7083,第 29.6 节。
相关文章:
© 2006   www.java-asp.net