- 热门文章:
- · 服务引擎的 DB2 瘦客户机:第 2 部分
- · 在 Linux 上构建 DB2 Web 服务器应用程序
- · ADO.NET 的数据存取性能
- · Linux 上的 IBM DB2 UDB v8.1
- · Portlet 对 DB2 数据的访问
- · 操作 DB2 Universal Database 表
- · 开发 Web 应用程序的快捷途径
- · 如何在 DB2 上为 AIX5L 设置 unixODBC
- · C#Builder 处理 DB2 通用数据库表
- · 构建模型驱动的 Windows 应用程序
- · 配置 IBM DB2 通用数据库以构建 SQL 过程
- · Java 应用程序的部署考虑
支持的 JDBC 驱动程序
|
级别: 初级 |
高级软件工程师, 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) | - |
注解:
- 需要 DB2 Connect。
- 只需一个 DB2 Connect 许可。
- 与 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 驱动程序。
- 只适用于 DB2 for z/OS V8,请参阅 IBM Redbook,SG24-7083,第 29.6 节。
- · SQL Links 迁移到 dbExpress 以使用 IBM DB2
- · 创建模型驱动的 Windows 应用程序
- · 带有 DB2 UDB 表的 ASP.NET Web Forms
- · 入乡随俗: 为 DB2 进行开发
- · ADO.NET 和 Borland Data Provider
- · 为 DB2 编写基于 Web 的表编辑器 GUI
- · 使用通用 SQL 实体 EJB 包装器来简化 EJB 开发
- · 操作 DB2 Universal Database 中的 LOB 数据
- · 专家访谈: Connie Nelin 谈 DB2 应用程序开发
- · 使用 C++Builder 实现真正的 RAD
- · DB2 for z/OS and OS/390 存储过程的问题
- · 把 DB2 数据传送给电子表格
- · DB2 UDB for OS/390 存储过程创建 Web 服务
- · DB2 Data Connections
- · IBM DB2 开发外接程序
- · 创建分布式 DB2 和 Delphi Web 应用程序
- · 创建访问 DB2 Everyplace 的 JSP 应用程序
- · 创建可重用组件来将 Delphi 7 连接到 DB2
- · DB2 Development Center — 上手技巧
- · DB2 和 Delphi 7 — SOAP 和数据库 Web 服务
- · Web 开发人员: 为最佳性能而进行优化?
- · 对 IBM DB2 企业内容管理产品的分析
- · 配置 IBM DB2 通用数据库以构建 SQL 过程
- · DB2 Universal Database: SQL 语句的生命周期
- · Bob Lyle 谈 DB2 中的 OLAP 函数
- · Terry Purcell 谈外连接(第二部分)
- · 请教专家 Terry Purcell
- · 利用 DB2 UDB 来使用 Java CachedRowSet 实现
- · 概要分析 SQL 过程
- · J2EE 与 IBM 对象-关系数据库
- · 用 ANT 自动化 DB2 UDB 的安装过程
- · Java 应用程序的部署考虑
- · 连接不同版本 DB2 数据库的兼容性问题
- · 为 DB2 编写基于 Web 的表编辑器 GUI
- · 使用通用 SQL 实体 EJB 包装器来简化 EJB 开发
- · DB2 Universal Database 中的 LOB 数据
- · 把 DB2 数据传送给电子表格
- · 创建访问 DB2 Everyplace 的 JSP 应用程序
