数据库控制 (DBCTL) 概述

CICS® 可以使用 CICS-DBCTL 接口或使用远程 DL/I 访问 DL/I 数据库。

使用 DBCTL
这是当 DBCTL 满足从具有 CICS-DBCTL 接口的 CICS 系统发出的 DL/I 请求时。
本信息中介绍了安装和使用 DBCTL (但您还必须参考其他 CICS 和 IMS 信息)。
使用远程 DL/I
远程 DL/I 是通过 CICS 函数将 DL/I 请求提供给另一个 CICS 系统完成的,在该系统中, DL/I 支持可以是远程 DL/I 或 DBCTL。 有关函数输送的更多信息,请参阅 CICS 函数输送。 有关添加远程 DL/I 支持的信息,请参阅 定义 DL/I 支持
注:
  1. 虽然用于访问 DL/I 数据库的这些方法可以共存,但程序规范块 (PSB) 只能包含由其中一种方法控制的数据库。
  2. CICS Transaction Server 不支持本地 DL/I。

CICS 还可以使用 CICS-DBCTL 接口访问 IMS Database Manager/Transaction Manager (IMS DM/TM) 系统中的 DL/I 数据库。 这意味着,如果 CICS 和 IMS DM/TM 位于同一 MVS™ 映像中,那么您可以访问由 IMS DM/TM 控制的 DL/I 数据库,而无需使用 IMS 数据共享。

图 1 显示了三种 DL/I 请求。
图 1。 CICS 中的 DL/I 请求处理
该图显示三种 DL/I 请求: 从 CICS A 通过 DBCTL A 到 DBCTL A 的数据库 (请求 #1) 的 DBCTL 请求。从 CICS A 到 CICS B 的远程 (函数输送) 请求到由 CICS B 控制的数据库 (请求 #2a)。从 CICS A 到 CICS B 的远程 (函数输送) 请求 (通过连接到 CICS B 的 DBCTL B) 到 DBCTL B 的数据库 (请求 #2b)。
注:
  1. 请求 #1 是从 CICS A 到 DBCTL A 的 DBCTL 请求,针对由 DBCTL A 控制的数据库。请参阅 CICS-DL/I 路由器 (DFHDLI) 以获取请求处理的描述。
  2. 请求 #2a 和 #2b 是针对由其他 CICS 系统 (可以在同一 MVS 映像中,也可以在其他 MVS 映像中) 控制或连接到其他 CICS 系统的数据库的两个单独的远程 (函数输送) DL/I 请求。 发出此类请求有两种方法:
    • 从 CICS A 向 CICS B 请求 #2a 以获取由 CICS B 控制的数据库。
    • 从 CICS A 向 CICS B 请求 #2b 以获取由 DBCTL B 控制的数据库。 使用请求 #2b 的最可能的原因是 CICS A 和 CICS B 位于不同的 MVS 映像中。