预编译器使用的数据集

调用预编译器时,您需要提供包含预编译器输入的数据集,例如主机编程语句和SQL语句。 您还需要提供预编译器可以存储其输出的数据集,例如修改后的源代码和诊断信息。

表 1. Db2 预编译器使用的DD语句和数据集
DD声明 数据集描述 是否必需?
DBRMLIB 输出数据集,包含 Db2 预编译器从源程序中提取的SQL语句和宿主变量信息。 它被称为数据库请求模块(DBRM)。 这些数据将成为 Db2 绑定过程的输入。 数据集的DCB属性为RECFM FB,LRECL 80。 DBRMLIB 必须是一个 PDS,并且必须指定成员名称。 您可以使用IEBCOPY、IEHPROGM、TSO命令、COPY和DELETE或PDS管理工具来维护数据集。
STEPLIB 工作步骤库。 在此 DD 语句中,您可以指定预编译器加载模块 DSNHPC 的库名称,以及 Db2 应用程序编程默认成员 DSNHDECP 的库名称。
建议 :请务必使用STEPLIB DD语句指定您的 Db2 DSNHDECP模块所在的库,以确保 Db2 预编译器使用正确的应用程序默认值。 包含您的 Db2 DSNHDECP模块的库需要先于 prefix.SDSNLOAD 库进行分配。
不,但推荐
SYSCIN 输出数据集,其中包含 Db2 预编译器输出的修改后的源代码。 该数据集成为编译器或汇编器的输入数据集。 该数据集必须具有属性 RECFM F 或 FB,以及 LRECL 80。 SYSCIN可以是PDS或顺序数据集。 如果使用PDS,则必须指定会员名称。
SYSIN 输入数据集,包含主机编程语言语句和嵌入式SQL语句。 该数据集必须具有属性 RECFM F 或 FB、LRECL 80。 SYSIN可以是PDS或顺序数据集。 如果使用PDS,则必须指定会员名称。
SYSLIB INCLUDE库,其中包含额外的SQL和主机语言语句。 Db2 预编译器包括此DD语句中SYSIN输入中SQL INCLUDE语句引用的成员。 可以指定多个数据集,但它们必须是属性为 RECFM F 或 FB、LRECL 80 的分区数据集。 SQL INCLUDE语句不能嵌套。 False
SYSPRINT 输出数据集,包含来自 Db2 预编译器的输出列表。 此数据集的LRECL必须为133,RECFM必须为FBA。 SYSPRINT 必须是一个顺序数据集
SYSTERM 更改开始终端输出文件,包含来自 Db2 预编译器的诊断信息。 数据集的DCB属性由 z/OS 系统确定。 SYSTERM 必须是一个顺序数据集。更改结束 False
更改开始SYSUT1 和 SYSUT2更改结束 更改开始预编译器在将嵌入式SQL语句转换为主机语言语句时用于存储临时信息的内部工作文件。 汇编程序和 PL/I 源代码的预编译仅使用 SYSUT1 数据集。 在 Db2系统提供的程序预处理程序(DSNHASM、DSNHC、DSNHCPP、 DSNHCPP2、DSNHICOB、DSNHPLI 和 DSNHFOR)中,默认的 SPACE 参数值在大多数情况下是足够的。 如果您的应用程序包含大量嵌入式 SQL 语句,您可能需要增加这些值。更改结束 更改开始不需要,除非您需要覆盖默认的SPACE参数值。更改结束