数据库控制 (DBCTL) 概述
CICS® 可以使用 CICS-DBCTL 接口或使用远程 DL/I 访问 DL/I 数据库。
- 使用 DBCTL
- 这是当 DBCTL 满足从具有 CICS-DBCTL 接口的 CICS 系统发出的 DL/I 请求时。
- 使用远程 DL/I
- 远程 DL/I 是通过 CICS 函数将 DL/I 请求提供给另一个 CICS 系统完成的,在该系统中, DL/I 支持可以是远程 DL/I 或 DBCTL。 有关函数输送的更多信息,请参阅 CICS 函数输送。 有关添加远程 DL/I 支持的信息,请参阅 定义 DL/I 支持。
注:
- 虽然用于访问 DL/I 数据库的这些方法可以共存,但程序规范块 (PSB) 只能包含由其中一种方法控制的数据库。
- CICS Transaction Server 不支持本地 DL/I。
CICS 还可以使用 CICS-DBCTL 接口访问 IMS Database Manager/Transaction Manager (IMS DM/TM) 系统中的 DL/I 数据库。 这意味着,如果 "CICS和 "IMSDM/TM 位于同一个 MVS 映像中,您就可以访问由 "IMSDM/TM 控制的 DL/I 数据库,而无需使用 "IMS数据共享。
图 1 显示了三种 DL/I 请求。图 1。 CICS 中的 DL/I 请求处理

注:
- 请求 #1 是从 CICS A 到 DBCTL A 的 DBCTL 请求,针对由 DBCTL A 控制的数据库。请参阅 CICS-DL/I 路由器 (DFHDLI) 以获取请求处理的描述。
- 请求 #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 映像中。