SQL 批处理实用程序
使用 SQL Batch 实用程序通过使用 JCL 来调用批处理程序来运行多个 SQL 语句。
SQL Batch 实用程序包含在 IMS Universal JDBC driver 中,并使用 type-4 连接来提交 SQL 语句。 必须使用 IBM® Java™ for z/OS® (JZOS) Batch Launcher 来运行 SQL Batch 实用程序。

限制
目前,没有针对 SQL Batch 实用程序记录任何限制。
先决条件
- 已安装 IBM Java for z/OS (JZOS) 批处理启动程序。
- 已安装 IMS 开放式数据访问解决方案。
- 已安装并配置 IMS 目录。
需求
- IRRRacf.jar 和 ibmjzos.jar 文件都位于作业的类路径中。
- 在 DriverManager.getConnection 方法的 applName URL中,指定了1到8个字符的应用程序名称,该名称在PTKTDATA类中定义RACF ,用于DRDA客户端访问 IMS。
- 以下值彼此相同:
- DriverManager.getConnection 方法的 applName URL 属性的值。
- ODACCESS 语句的 APPL= 参数的值,该参数位于 IMS PROCLIB 数据集的 HWSCFGxx 成员中。
- 在 SQL Batch 实用程序的 JCL 的 JOB 语句上,指定与作业关联的 z/OS 用户标识。
建议
目前,没有为 SQL Batch 实用程序记录任何建议。
输入和输出
- 与 JCL 内联
- 在 JCL 引用的数据集中
- 在 UNIX 系统服务上 JCL 引用的文件中
返回码
- 代码
- 含义
- 0
- 未检测到任何错误。
- 11
- 与 IMS Connect 的连接失败。 验证连接参数是否正确。
- 12 个月
- 无法运行 SQL 语句,所有工作都已回滚到先前的落实点。 验证 SQL 语句是否有效。
- 13
- 落实未成功完成。
- 14 日
- 回滚未成功完成。
- 15 日
- 未正确清除连接。
- 16
- 指定了无效的 SQL 语句。 请验证输入文件是否仅包含有效的 SQL 语句。
- 1
- 找不到 Java 主类,或者 main 方法抛出了异常。
- 101
- 发生配置或设置错误。 有关更多信息,请参阅 SYSOUT 消息。
- 102
- 发生系统或内部错误。 有关更多信息,请参阅 SYSOUT 消息。
有关返回码 11-16 的更多信息,请参阅 STDOUT 和 STDERR 中的输出消息。
JZOS 批处理启动程序发出返回码 0 , 100 , 101 和 102。JCL 规范
SQL Batch 实用程序通过标准 z/OS 作业运行,该作业使用 JZOS Batch Launcher 来启动该实用程序。 需要以下 JCL 语句:- 为满足安装规范而定义的 JOB 语句。
- SET P1 语句
- EXEC 语句
- 定义输入和输出的 DD 语句
SET P1 语句必须采用以下格式:
// SET P1='com.ibm.ims.jdbc.batch.BatchUtil'在 SET P1 语句中, com.ibm.ims.jdbc.batch.BatchUtil 是主 SQL Batch 实用程序类。 此实用程序类位于 IMS JDBC 驱动程序 (imsudb.jar) 中。
EXEC 语句
//JAVAJVM EXEC PGM=JVMLDMxx,REGION=0M,
// PARM='/ &P1' 必须将变量 JVMLDMxx 替换为 JZOS Batch Launcher 的 IBM SDK for z/OS 版本。 例如,对于 IBM 64 位 SDK V 7 ,请指定 JVMLDM76。
DD 语句
- STEPLIB DD
- 指向 JZOS.LOADLIB,它是 JVMLDM 模块的 STEPLIB。
需要 STEPLIB DD 语句。
- SYSPRINT DD
- 定义系统作业日志的消息数据集。 数据集可以在打印机,磁带或直接访问设备上,也可以通过输出流进行路由。
此 DD 语句是必需的。
- SYSOUT DD
- 定义系统作业记录的错误信息的消息输出数据集。 数据集可以在打印机,磁带或直接访问设备上,也可以通过输出流进行路由。
此 DD 语句是必需的。
- STDOUT DD
- 定义 Java 作业的消息输出数据集。 数据集包含来自 Java System.out的输出。 数据集可以在打印机,磁带或直接访问设备上,也可以通过输出流进行路由。 (可选) 可以在此 DD 语句中指定 UNIX 系统服务上的文件。
此 DD 语句是必需的。
- STDERR DD
- 定义 Java 作业的错误信息的消息输出数据集。 数据集包含来自 Java
System.err的输出。 数据集可以在打印机,磁带或直接访问设备上,也可以通过输出流进行路由。
此 DD 语句是必需的。
- CEEDUMP DD
- 定义 Language Environment® 运行时选项。
- MAINARGS DD
- 定义主 Java 类的输入自变量。
- IMSSQL DD
- 定义要运行的 SQL 语句。 可以在数据集中或 UNIX 系统服务上的文件中内联指定 SQL 语句。
示例 1: 指定内联语句
//IMSSQL DD * CONNECT jdbc:ims://myConnectServer:myPort/DFSCP001; CREATE DATABASE myDB...; CREATE TABLE myTable ...; COMMIT; DISCONNECT;示例 2: 指定用户名和密码
以下示例与先前示例相同,只是在 CONNECT 语句中包含了用于安全性检查的用户名和密码。 在此示例中,密码后面需要两个分号。
CONNECT 语句的语法符合 IMS Universal JDBC driver 为 type-4 连接定义的语法。 有关更多信息,请参阅 使用 JDBC DriverManager 接口连接到 IMS 数据库。
//IMSSQL DD * CONNECT jdbc:ims://myConnectServer:myPort/DFSCP001:user=myUserName;password=myPassword;; CREATE DATABASE myDB...; CREATE TABLE myTable ...; COMMIT; DISCONNECT;示例 3: 指定数据集中的语句
//IMSSQL DD DISP=SHR, // DSN=myPDS(myScript)示例 4。 在 UNIX 系统服务上的文件中指定语句
//IMSSQL DD PATH='/stdin-file-pathname',PATHOPTS=(ORDONLY)此 DD 语句是必需的。
- STDENV DD
- 定义 Java 环境变量。 在此部分中,确保以下语句指向 JDK 路径:
export JAVA_HOME=myJavaHomePath另外,请确保以下语句指向 IMS Universal JDBC driver的路径,该驱动程序包含 SQL Batch 实用程序:CLASSPATH="$CLASSPATH":myLibPath/imsudb.jar此 DD 语句是必需的。