如何将多个版本的 DB2 程序绑定到一个包中?

db2databasebig data analytics

包是 DB2 数据库对象,用于保存 COBOL-DB2 程序中使用的 SQL 的可执行形式。这些包存储在目录表中,并包含与 SQL 语句关联的策略/表/列/谓词。

如果测试环境中有一个 DB2 表 ORDERS_TEST,生产环境中有一个 ORDERS_PROD,那么我们需要两个版本的 COBOL-DB2 程序(用于访问这些表)——一个用于测试,另一个用于生产。

虽然两个程序彼此互为副本,但唯一的区别在于 SQL 语句。测试版本的程序将在 SQL 语句中使用表 ORDERS_TEST,而生产版本的程序将在 SQL 语句中使用表 ORDERS_PROD。为了实现版本控制,我们需要将程序的软件包拆分开来。

为了保留软件包的多个版本,我们必须在预编译步骤中使用 VERSION 选项。因此,我们可以为软件包的测试版本指定 VERSION(TEST),为软件包的生产版本指定 VERSION(PROD)。

以下是示例:

示例

//BIND EXEC PGM=IKJEFT01
//STEPLIB DD DSN=DIS.TEST.LOADLIB,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(TB3)
BIND PLAN(PLANA) -
PKLIST(PACKA) -
VERSION(PROD) -
ACQUIRE(ALLOCATE) -
ISOLATION (RS)
/*

相关文章