CA Datacom听过么?它是CA(Computer Associates)公司的企业级数据库。以能承受高负荷和较强的容错性著称,在mainframe平台上有比较广泛地应用,不过最近几年Datacom公司貌似不怎么行了,大家都换上了IBM的DB2数据库了。
Datacom不是关系型数据库,它是通过KEY来访问记录的,可以说是具备了基本的文件系统特征。通常KEY是某个或某几个字段的组合,一个table可以有多个KEY。在PL/I或COBOL程序中访问Datacom是通过调用接口DBNTRY来实现的(XXX是table名字)。 在COBOL中是这样call的(XXX是table名字):
CALL ‘DBNTRY’ USING USER-ID
XXX-REQ-AREA
XXXF0
XXX-ELEMENT-LIST
而在这之前,要先声明:
01 USER-ID.
05 PROGRAM-NAME PIC X(08) VALUE 'MYPGM00 '.
05 FILLER PIC X(24) VALUE SPACES.
01 XXX-REQ-AREA.
05 XXX-REQ-COMMAND PIC X(05) VALUE SPACES.
05 XXX-REQ-FILENAME PIC X(03) VALUE ‘XXX‘.
05 XXX-REQ-KEYNAME PIC X(05) VALUE SPACES.
05 XXX-REQ-RETURNCD PIC X(02) VALUE SPACES.
05 XXX-REQ-DBID PIC X(02) VALUE SPACES.
05 XXX-REQ-REC-ID PIC X(07).
05 XXX-REQ-KEY-VALUE PIC X(180).
01 XXX-WORK-AREA.
05 XXX-WORK-AREA-0 PIC X(274).
05 XXX-WORK-AREA-6 PIC X(300).
01 XXX-ELEMENT-LIST.
05 XXX-ELM-1 PIC X(05) VALUE ‘XXXA0′.
05 FILLER PIC X(01).
05 XXX-ELM-2 PIC X(05) VALUE ‘XXXA6′.
05 FILLER PIC X(01).
05 FILLER PIC X(05) VALUE SPACES.
接着在程序中要分别对进行必要的赋值:
XXX-REQ-AREA,XXX-WORK-AREA. XXX-ELEMENT-LIST
赋完值后就能执行
CALL ‘DBNTRY‘
来对Datacom数据库表进行操作了。
Comments !