欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JCL.Cobol.DB2.CICS面试题14831.pdf

    • 资源ID:83514942       资源大小:1.11MB        全文页数:36页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JCL.Cobol.DB2.CICS面试题14831.pdf

    JCL:1 简单描述一下 DISP 的使用,它有哪些参数?DISP 参数用来告诉系统要使用的数据集的状态是什么并且告诉系统当本作业步执行完毕后如何处理这个数据集。你可以为作业步正常结束和非正常结束时分别指定不同的处理方法。DISP=(NEW,DELETE ,DELETE )为空时也表示这个。OLD,KEEP ,KEEP SHR,PASS ,CATLG MOD,CATLG ,UNCATLG,UNCATLG 2 什么是 PROCEDURE,有哪几种 PROCEDURE,简述区别 有 2 中 PROCEDURE,一种是 CATALOG 的 PROCEDURE,是把过程的JCL 语句写在一个编目的数据集里,该数据集必须是 PDS 或PDSE 里的一个成员,能够同时被多个 JCL 调用。另一种是INSTREAM的 PROCEDURE,流 PROCEDURE,写在一个 JCL 里面,以PROC 开头,以 PEND 字句结束。3.什么是 GDG 数据集,GDG 数据集的每一代数据集是否可以是不同类型的?定义 GDG 数据集有 3 个重要的参数:LIMIT NOEMPTY SCRATCH 各表示什么含义?定义 GDG BASE 之后要必须定义什么?答:GDG 数据集是一组名字相似,时间和功能相关的数据集。GDG 数据集是 MVS 中的世代数据集,通过 IDCAMS 来创建。GDG 数据集的每一代可以是不同类型的。3 个重要的参数 LIMIT 表示这个世代数据集最多可以有多少代;NOEMPTY 表示不清空,SCRATCH 表示最老的一代是被删除掉的。定义 GDG BASE 之后必须定义 GDG DSCB 才能生效。4.COND 参数是什么意思?如果我需要作业步 3,只在作业步 2返回码是 0 或者 4 的时候才执行,如何写 COND 参数?答:COND 参数是 CONDITION 参数,表示什么情况下作业步被执行/不被执行。COND=(4,LT,STEP2)5.IEBCOPY 与 IEBGENER 有什么区别?IEFBR14 是起什么作用的?IEBCOPY:对分区数据集进行拷贝、压缩或合并 IEBGENER:拷贝顺序数据集,或将顺序数据集转为分区数据集 IEFBR14实际是一个空程序,什么也不做,只是返回返回码0,但是使用它可以进行JCL 语言的各种处理,如DD 语句中创建数据集等。6 用哪一个 UTILITY 去定义 VSAM 文件,简介一个定义 VSAM文件的一些参数 DEFVSAM EXEC PGM=IDCAMS DEFINE CLUSTER(NAME(OCB4D4.EX0801.VKD44N)VOL(TSTCC2)-RECSZ(48 48)REC(1000 1000)KEYS(10 0)7.定义 VSAM 的时候是否可以指定 VSAM 分配的大小,通过哪个参数指定?答:通过用 IDCAMS 来定义 VSAM 文件,通过指定 CYL 参数来指定VSAM 分配的大小,在定义 VSAM 的 DATA 部件的时候指定的 VSAM文件的大小 8.定义 VSAM 的时候,参数 KEYS(9 12)表示什么意思?(6 0)答:KEYS(9,12)表示从记录的 12 列开始,数 9 个长度作为 VSAM文件的 KEY.比如 KEYS(6 0),就是指从文件开始的 6 个长度的字段作为 KEY 9.SPACE 参数如何使用?比如你要建一个 PDS 数据集,SPACE=(TRK,(1,1,1),3 个 1 各表示什么?第一个 首次分配;第二个 扩展分配;第三个 目录区大小 10.要建立一个 PDSE 数据集,记录格式是定长不分块,记录长度是 120,块大小系统选定,DCB 参数如何写,为了指明建立的是 PDSE 还要写哪个参数?答:DCB=(RECFM=F,LRECL=120,BLKSIZE=0),还要指定 DSNTYPE=LIBRARY 参数才能表示是分配的是 PDS-E数据集。11.如何让系统指定 BLKSIZE,系统指定有什么好处?答:系统指定 BLKSIZE 的话,需要在有 RECFM 参数,LRECL 参数的情况下,指定 BLKSIZE=0,或者不指定 BLKSIZE 参数,就是系统指定 BLKSIZE 参数。系统指定 BLKSIZE 的话,可以最优化块大小的分配,节省系统空间。12.PDSE 和 PDS 有什么区别?PDS 删除的成员空间不会自动释放,压缩 才能使用该存储空间。而 PDSE 的删除后自动释放,不可压缩。PDS 可能有目录缺陷而 PDSE 没有 13.在一个 JCL 作业中有多个作业步,如何从其中的一个作业步开始执行作业,用哪个参数指定?答:可以通过在 JOB 语句里面指定 RESTART=STEP5 参数是 JCL直接从作业步 5 开始执行。14.SPACE 参数中的 RLSE 参数是起到什么作用?答:RLSE 参数表示 RELEASE,表示系统自动释放掉分配给数据集的但是没有被使用的空间。15.JCL 中定义的记录格式有哪些?分别表示什么含义?FB 定长分块 F 定长不分块 VB 变长分块 V 变长不分块 和 U未定义,存放的是二进制代码。16.STEPLIB DD 语句,JOBLIB DD 语句,JCLLIB DD 语句 分别起什么作用?答:JCLLIB 用在 PROCEDURE 中,指定 JCL 中用到的PROCEDURE 放在哪里;JOBLIB 和 STEPLIB 都 是 用 来 自 定 JCL 中 用 到 的PROGRAM 放在哪里,如果单独有 JOBLIB 或 STEPLIB 的话就是去 JOBLIB 或STEPLIB 后面指定的数据集去找 PROGRAM。如果 JOBLIB 和 STEPLIB 都有的话,那么 JOBLIB 会被忽略,去 STEPLIB 里面去找 如 果 JOBLIB 和 STEPLIB 都不指 定的 话,就是去SYS1.LINKLIB 里面去找。17.SORT UTILITY 是用来做什么的,如果我想对记录中的第二个字段进行字符升序排序,这个字段的起始位置是 4 长度是 19,如何写 SORT 的控制语句?答:主要是对文件中的记录进行排序,最常见的参数是 SORT FIELDS,按照题目要求这样的 SORT 语句应该这样写:SORT FIELDS=(4,19,CH,A)DFSORT 是IBM 的Data Facility 家族的一员,用来对数据集进行排序、拷贝和合并。控制选项:SORT:指定对数据集进行排序操作;MERGE:指定对数据集进行合并操作;COPY:指定对数据集进行拷贝操作;FIELDS:指定排序键值的信息,格式为 FIELDS=(起始位置,长度,升降序,起始位置,长度,升降序),FORMAT=数据类型(起始位置,长度,数据格式,升降序,起始位置,长度,数据格式,升降序)其中位置和长度都是以字节为单位,顺序可选的有A:升序,D:降序,E:使用用户出口例程定序;FORMAT=指定键字的类型,可选项有CH:字符类型,PD:压缩十进制型,BI:二进制型,AC:ASCII 码型。18通过 JCL 怎么传递参数?PARM 用于向本作业步执行的程序传递变量信息。该程序必须有相应的指令接收这些信息,并使用它们。格式:PARM.过程步名=子参数 PARM.过程步名=(子参数,子参数)PARM.过程步名=(子参数,子参数)PARM.过程步名=子参数,子参数 包括所有的逗号、撇号以及括号在,所有子参数的总长度不得超过 100 个字符。当某 子参数中含有特殊字符或空格时,可以将该子参数用撇号括起来,在其它子参数一起用括号 括起来,或将所有在参数用撇号括起来。子参数:包含传递给程序的变量信息。例 1/RUN3 EXEC PGM=APG22,PARM=P1,123,P2=5 在本例中,系统将参数 P1、123 及 P2=5 传递给程序 APG22。例 2/STP6 EXEC PROC=ASFCLG,PARM.LKED=(MAP,LET)在本例中系统将 MAP、LET 传递到过程 ASFCLG 中名为 LKED 的过程步。19.如何定义 KSDS 的次键(sub-index)?次键本身也是一个 KSDS。它提供了另一种方法访问 VSAM KSDS和 ESDS数据集。定义次键的步骤如下:1)定义 CLUSTER。2)装入数据。3)用 DEFINE ALTERNATEINDEX 命令定义次键。4)用 DEFINE PATH 命令将次键与 CLUSTER 相关联。5)用 BLDINDEX 命令建立次键。也就是在索引中装入数据。VSAM 用 3 个编目项描述一个次键:-一个次键项描述次键是一个 KSDS。-一个数据项描述次键的数据部件。-一个索引项描述次键的索引部件。定义次键需要指定的信息与定义一个 KSDS 类似。如果次键允许许多不唯一的键,则 RECORDSIZE 必须足够大。在定义次键时,如指定了 UPGRADE 属性,则 VSAM 数据集改变时,次键自动改变。例 假定你有一个数据集叫 PAYROLL.MASTER,其主键是雇员名字,你想建立一个次键。则:1)定义次键:DEFINE ALTERNATEINDEX(NAME(PAYROLL.DEPT.AIX)RELATE(PAYROLL.MASTER)VOLUMES(AIX001)UPGRADE)DATA(NAME(PAYROLL.DEPT.AIX.DATA)TRACK(5 5)RECORDSIZE(200 2096)KEY(7 65)NONUNIQUEKEY)INDEX(NAME(PAYROLL.DEPT.AIX.INDEX)IMBED)2)定义路径:DEFINE PATH(NAME(RAYROLL.DEPT.PATH)PATHENTRY(PAYROLL.DEPT.AIX)UPDATE)3)在索引中装入数据:BLDINDEX INDATASET(RAYROLL.MASTER)OUTDATASET(PAYROLL.DEPT.AIX)以后你在使用这个数据集时,如果你在 JCL 中的 DD 语句如下:/DD1 DD DSN=PAYROLL.MASTER,DISP=SHR 则表示你使用主键访问该数据集。如果你在 JCL 中的 DD 语句如下:/DD1 DD DSN=PAYROLL.DEPT.AIX,DISP=SHR 则表示你使用次键访问该数据集。20.为 KSDS 文件建立交替的索引?/DS580416 EXEC PGM=IDCAMS,/PRMINDEX DD DSN=DS.DS580412.AGGR,DISP=SHR/ALTINDEX DD DSN=DS.DS580412.AGGR.AIX,DISP=SHR/IDCUT1 DD DSN=DS.DS580416.TEMP1,DISP=OLD,UNIT=IDMP,/VOL=(,SER=(PDS001)/IDCUT2 DD DSN=DS.DS580416.TEMP2,DISP=OLD,UNIT=IDMP,/VOL=(,SER=(PDS001)/SYSPRINT DD SYSOUT=*/SYSIN DD*BLDINDEX INFILE(PRMINDEX)OUTFILE(ALTINDEX)/*COBOL:p 型 1-4 个 9 占 2 位。5-9 个 9 占 4 位。10-18 个 9 占 8 位。2.第 66,77,88 层是用来做什么的?66 重定义。77 无子层。88 条件判断 3.COBOL 中有哪 4 个部?都是必须的吗?DATA DIVISION 可以省略不写吗?ENVIRONMENT DIVISON 可以省略不写么?标识部 环境部 数据部 过程部 4.批次程序如何引用文件?要在程序中加入哪些描述语句?ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT IN-FILE ASSIGN INDD ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS IN-FILE-STATUS.SELECT OUT-FILE ASSIGN OUTDD ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS OUT-FILE-STATUS.DATA DIVISION.FILE SECTION.FD IN-FILE.01 IN-RECORD PIC X(80).FD OUT-FILE.01 OUT-RECORD PIC X(80).4.COMP 和 COMP-3,DISPLAY 各表示什么意思?S9(4)COMP-3 占多少字节?S9(7)V9(2)DISPLAY 占多少字节?COMP 是二进制,COMP-3 是压缩十进制,DISPLAY 是十进制。S9(4)COMP-3 占 3 个字节 S9(7)V9(2)DISPLAY 占 9 个字节 5.如果 VSAM 中的字段格式是 S9(7)V9(2)comp-3,如何定义一个数据来接收这个数据并 DISPLAY 出来?答:通过定义 9(7).9(2)来接收这个变量。6.S9(4)COMP-3 在存中占多少字节?-1234 在存中是如何存储的?答:S9(4)COMP-3 在存中占 3 个字节,-1234 在存中表示为 01 23 4D(16 进制表示)(00000001 00100011 01001101)(2 进制表示)7.S9(7)COMP 在存中占多少字节?MOVE 1234 TO VAR,DIS PLAY 之后 VAR1 显示结果是(VAR1 的 PIC 字句是 S9(7)COMP-3)答:S9(7)COMP 在存中占 4 个字节,MOVE 1234 TO VAR1 之后,DISPLAY VAR1 显示为 0001234.8.COBOL 程序读取文件记录,如何判断已经读到最后一条记录 100-READ.READ FILE1 INTO FILE-REC AT END.NOT AT END .GO TO 100-READ.9.COBOL 中如何调用子程序?如何向子程序传值?使用 CALL,XTCL,LINK 来调用子程序,其中 call 使用在 batch程序中,XCTL,LINK 使用在 CICS 中。使用 call 和 LINK 调用子程序后,子程序结束后仍回到主程序。而 XTCL 后,子程序结束后不返回。使用通讯区在子程序间传值。10.举例说明如何使用 REDEFINES,要注意什么?REDEFINES 是用来重定义,数据长度和类型都可以不同 05 AAA PIC X(6)05 BBB REDEFINES AAA.10 B-1 PIC X(4).10 B-2 PIC X(2)11.文件打开的方式有哪几种?各表示什么?INPUT 输入 从该文件中读取数据 OUTPUT 输出 把数据输出到文件中 I/O 即可输入又可输出 EXTENT 扩展 12.你是如何调试批次程序的?在 SDSF 里面看作业的返回码,进入 JES 的作业信息查看是哪一个作业步发生了错误,返回码是多少,然后去响应的作业步里面查看出错信息 如果可能是变量错误的话,用 DISPLAY 跟踪 13.S0C7 是什么错误,如何解决?S0C7-may be due to:1.Numeric operation on non-numeric data;2.Un-initialize working-storage;3.Coding past the maximum allowed sub script.数据类型不匹配。通过 OFFSET 后面的十六进制的数。14.在线程序与批次程序有何区别?根本区别:在线程序需要用到 cics,而批次程序不需要 15.COBOL 读取文件记录的语句,分别描述一下顺序和索引文件的读取 READ INTO AT END NOT AT END READ INTO KEY IS INVALID KEY NOT INVALID KEY 16.如何定义一个数组?比如学生记录里面课程有8 门 01 STUDENT.05 NAME PIC X(10).05 COURSE PIC X(4)OCCURS 8 TIMES.OCCURS 不能定义在 01 层。17.VSAM 文件的组织形式有哪些?ESDS:Entry Sequential Data Set;顺序数据集;特点是:A,记录只能增加在文件尾部;B,记录可被修改但长度不能被改变,记录不能被删除;C 能根据相对寻址的方式进行操作。RRDS:Relative Record Data Set;相对记录数据集;特点是:A,在数据集中包含许多小的数据块,这些可能有数据或为空;B,记录可能是固定的或可变的;C,肯顺序或直接的存取,根据相对的记录数方式操作。KSDS:Key Sequential Data Set;索引数据集;特别是:A,记录能进行顺序或直接的读写;B,记录能被新增、修改、删除无限制,记录由索引方式来组织;C,按键值的方式进行操作。LDS 线性存储,数据没有分界线。18.文件的访问方式有哪些?SEQUENTIAL 顺序 RANDOM 随机 DYNAMIC 动态(有条件)19.REDEFINES 的起什么作用,请简述 REDEFINES 使用时要注意的地方 答:REDEFINES 表示重定义,为同一个存重新定义一个变量的名字。例如:01 A PIC S9(7)V9(2)COMP-3.我们用 B 来REDEFINES A 就用如下语句:01 B REDEFINES A PIC X(5).例如:01 A.03 A1 PIC X(6).03 B1 REDEFINES A1.05 B11 PIC X(4).05 B12 PIC 99.03 C1 REDEFINES A1 PIC 9(6).1.数据名 2 与数据名 1 的层号必须相同。REDEFINES 子句不能用于 88 层和 66 层。2.用 REDEFINES 子句的描述体应紧跟在被重新定义的数据项的描述之后,中间不能插入其他项的描述说明。3.可以多次重定义,但必须紧跟出现,而且要求使用最初定义的数据名。4.REDEFINES 子句不能用于文件节的 01 层中,因为文件节中01 层描述的是记录,但工作单元节中的 01 层是可以用REDEFINES子句重新定义的,因为这里的 01 层不是指输入输出文件的记录,而是指组合项。5.用 REDEFINES 子句可以改变数据的结构,但两个数据名的长度应相同。6.存中的值为数据名 1 和数据名 2 共享。也就是说,重定义后两个数据名的名称和两种数据结构同时存在,都有效。程序中可使用其中任何一个。他们在存中为同一段存储单元。如果改变了存容,则二者的值都因而改变。7.重定义子句所在的数据描述体中不能使用初值子句赋初值 20.如何定义和使用文件?如何把 COBOL 程序中的文件关联到实际的文件上?答:在COBOL程 序 的Environment division段 里 的INPUT-OUTPUT SECTION FILE-CONTROL 进行文件的定义,包括部文件名,外部文件名,文件的格式以及访问方式 在 Data Division 里的 FILE SECTION 里面进行 FD 进行文件记录变量的描述 在 运行程序的 JCL 里面通过指定 PGM=程序名,和相同的外部文件名来关联程序和实际的物理数据集。21.COBOL 中如何做循环,请描述下常用的循环语句 答:COBOL 中主要通过 PERFORM 做循环;PERFORM 有 3 种主要的格式:PERFORM 100-PROC X TIMES;PERFORM 100-PROC UNTIL X 10;PERFORM 100-PROC VARYING X FROM 1 BY 1 UNTIL X 10;GO TO 语句。22.如何从 VSAM 中的一条记录开始顺序读取以下的记录 答:通过指定 KEY 值来指定从文件的哪个 KEY 开始读记录,用 COBOL 语句:START FILE1 KEY IS EQUAL TO 变量 END-START READ FIEL1 NEXT RECORD INTO 文件记录变量 END-READ 从 文 件 头 中 间 开 始CICS STARTBR,READNEXT or READPREV,then ENDBR.读 取 首 条 记 录,给key值 赋LOW-VELUE,STARTB-READNEXT;从 文 件 尾 读 取,给key值 赋HIGH-VALUE,STARTB-READPREV.23.INSPECT 语句,简单说一下 INSPECT TALLYING&INSPECT REPLACING 答:INSPECT 变量 TALLYING N FOR ALL 表示统计变量中的空格数,把统计结果给 N.INSPECT 变量 REPLACING ALL SPACE BY .表示把变量中的所有空格,用.替换掉。24.INITIALIZE 语句作用是什么,INITIALIZE VAR,如果 VAR是字符型,那么 DISPLAY VAR 后是什么结果,如果 VAR 是数值型,那么 DISPLAY VAR 后是什么结果?答:INITIALIZE 语句是用来初始化变量存的语句,如果变量是字符型/字母型就初始化为 空格,如果是数值型就都初始化为 0 25.CORRESPONDING 是什么作用在 COBOL 中,如何使用?答:相应变量传送,通过用 MOVE CORRESPONGDNG 组合项 A TO 组合项 B,(组合项 A 和 组合项 B 里有同名的子项的定义)26.描述一下读文件的全过程。INPUT-OUTPUT SECTION 的 FILE-CONTROL 中,用SELECT 语句将外部文件和部文件联系起来;在 FILE SECTION中,通过 FD 定义文件的记录格式等;在 PROCEDURE DIVISION中,首 先 OPEN INPUT/OUTPUT/I-O/EXTEND,READ 或START-READ NEXT;读完之后 CLOSE。判断文件读取状态使用 FILE STATUS。10 读取顺序数据集时读不到或者已经读到文件尾;22 写 Indexed 文件的时候,存在关键字重复的记录;35 数据集不存在;37 用数据集不支持的方式打开文件(An OPEN statement with the INPUT,I-O,or EXTEND phrase was attempted on a non-optional file that was not present.);39 程序定义与文件属性不匹配。记录格式不匹配;92 逻辑错误,没先读就写;S0C4 读文件时文件没有打开。27.如何定义一个 VSAM 文件在 CICS 中.CEDA DEF FILE(file-name)G(group)指定 DSN 和文件的操作(ADD,READ,WRITE,UPDATE and DELETE).28 项目过程,也就是从你接到程序文档到提交程序这中间你所要完成的一切步骤。看懂程序文档,弄清楚程序流程,划分功能模块,编码,分布测试,整体测试。29 在 DD 语句中,DCB 参数的含义?Use the DCB parameter to complete during execution the data set information in the data control block(DCB).DSORG specifies the organization of the dataset,sequential or partitioned.RECFM specifies the record format of the dataset,FB,F,V,VB or other.DSNTYPE specifies the type of the dataset,PS,PO,or LIBRARY.BLKSIZE specifies the block size of the dataset,can be default.LRECL specifies the record length of the dataset.30.开发周期的描述?A 开发前,对项目做详细的问卷调查和可行性分析,要产生可行性研究报告和行动方案等文档;B 开发期间,对项目进行需求分析,软件设计,编码,测试,并产生需求分析规格说明书、概要设计规格说明书、详细设计说明书(包括 MAP 设计,数据库设计,算法设计,程序逻辑设计,程序流程图等)、项目开发计划书、测试需求说明书、测试设计说明书、项目测试计划书、测试报告书、项目总结报告、用户手册等;C 开发后,对项目进行维护和客户服务。DB2:1主键和唯一索引的区别?主键一定是唯一性索引,唯一性索引并不一定就是主键。一个表中可以有多个唯一性索引,但只能有一个主键 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现冠戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。2.Plans 和 packages 的作用?一个 CICS 的应用程序访问 DB2 的数据时,必须要做一些相应的准备工作,涉及 DB2 的是 bind 墓獭ind 是产生一个 plan 的过程,plan 包括程序中所有使用的 SQL 语句,在执行的时候,CICS 程序可以通过 plan 访问 DB2 的数据。这些 plan 位于 DB2部,在 CICS 连接 DB2 的时候,每个线程都要指定一个相应的plan。在 CICS 中,定义 DB2CONN 的时候,在 pool 的线程的属性中,有相应的 plan 的名称;定义 DB2ENTRY 的时候,在 entry的线程的属性中,有相应的 plan 的名称。一CICS 的程序访问 DB2 数据的时候,需要做下面的一些准备工作。1 第 1 步,CICS 的程序做 DB2 的预编译。在此步骤中,DB2的预编译建立 DBRM(database request model),包括程序中所有的 SQL 语句的信息。2 第 2 步 CICS 的语句翻译,第 3 步编译,第 4 步都是 CICS程序的通常步骤,无论是否访问 DB2。在第 4 步的时候,如果访问 DB2,会包括 DSNCLI(CICS DB2 language interface module)。3如果访问 DB2,一个附加的步骤是第 5 步 bind,Bind 过程需要 DB2 和第 1 步生成的 DBRM,据此产生 plan,程序就可以访问 DB2 了。任何 CICS 的应用程序访问 DB2,都需要 bind 过程。Bind 过程是将 DBRM 中涉及的 SQL 语句放进一个操作的表格,并被翻译成 DB2 运行 SQL 语句使用的 control structures。作为结果,可以放到一个 package 中,或者直接放到一个 plan 中。二Plans 和 packages 的介绍应用程序在执行的时候,访问 DB2数据是通过 plan 来进行的。如果由 DBRM 得到的可操作的 SQL语句直接放入一个 plan 中,我们称作 DBRM 直接 bind 到 plan。另外,还可以将由 DBRM 得到的可操作的 SQL 语句放入一个package 中(使用 BIND PACKAGE 命令),之后,将有联系的packages 放入一个集合中,再把集合(或者多个 package)bind到一个 plan 中。相应的 DBRM 可以是服务一个应用程序或多个应用程序。另一方面,当 plan 生成后,需要相应的维护。在一个应用程序或多个应用程序中,如果修改了 SQL 语句,就需要重新生成相应的 DBRM。在 plan 生成时,采用的是 DBRM 直接bind 到 plan 的话,就需要把此 plan 中所有的 DBRM 重新 bind,包括修改的应用程序和没有修改的应用程序。当 plan 在 bind 时,应用程序是不能通过它来访问 DB2 的。在 plan 生成时,采用的是 DBRM bind 到 package 的话,只需要把修改的应用程序的DBRM 重新 bind 到 package(和原来 package 的名字要求一致)中,就可以了,不用再 bind 到 plan。Plan 中其他的 packages 不需要做任何的操作。当 package 在 bind 时,不使用此 package 的应用程序可以通过 plan 访问 DB2。在 CICS 环境中,定义连接DB2CONN(pool thread)和 DB2ENTRY(entry thread)时,会指定使用的 plan。当 CICS 的应用程序访问 DB2 的数据时,会告诉 DB2 要使用的 plan,DB2 再找到 plan,对数据进行操作。entry thread 指定的 plan,采用的是 DBRM 直接 bind 到 plan 的话,当对某个程序修改后,bind 时,使用此 DB2ENTRY 的所有 CICS交易,就不能访问 DB2 的数据。pool thread 指定的 plan,采用的是 DBRM 直接 bind 到 plan 的话,当对某个程序修改后,bind 时,所有的 CICS 交易(没有指定使用 entry thread),就不能访问 DB2的数据,影响是比较大的。所以,避免将 DBRM 直接 bind 到 plan中,而采用将各自的 DBRM bind 到不同的 package 中,是一个很好的选择。3.SQL 语句中各个子句执行的顺序。order by 永远要写在 sql 语句的最后一条。1、FROM 子句。2、WHERE 子句。3、GROUP 子句。4、HAVING 子句。5、SELECT 子句。6、ORDER BY 子句。4.QSAM 和 VSAM 的 ESDS 有什么区别?在用法上基本上没有区别。QSAM是顺序数据集。VSAM的ESDS是 VSAM 数据集 使用上 ESDS 用有 VSAM 数据集的一些特性,如可以扩展 123次,而 QSAM 的只可以 16 次。从数据访问方式上,两者基本相同,都是顺序访问。5.CALL(Static CALL,Dynamic CALL)&LINK 的区别。Be aware that CALL does not mean the called module is part of the load module.That is only true if it is a Static call.Dynamic calls do not include the called routine in the load module.This question must be related to CICS since COBOL does not have a LINK statement.There are distinctions as listed below:Static CALL:Called module is part of the load module.CICS knows nothing about it and doesnt get involved with the communication between the modules.Dynamic CALL:Called module is not part of the load module.CICS needs a PPT entry for both the called and calling program.Under the covers,CICS treats it like a LINK request.Arguments are passed as with a static call.LINK:CICS command-level request to pass control to another module with a return back to the caller.Arguments are passed in a COMMAREA.6.动态的 SQL 和静态的 SQL 的区别?dynamic SQL:sql statements that are prepared and executed within an application program while the program is executing.In dynamic SQL,the SQL source is contained in host language variables rather than being coded into the application program.The SQL statement can change several times during the application programs execution.static SQL:SQL statements,embedded within a program,that are perpared during the program perparation process(before the program is executed)after being perpared,the SQL statement does not change(although values of host variables that are specified by the statement might chang).7.COBOL&DB2 程序的编译过程是哪几步?BIND 是做什么用的?Package&plan 如何理解的?4 部 DB2 pre-compiler(if embedded SQL used),CICS translator(if CICS program),COBOL compiler,Link editor,binding the DBRMs using the package or plan.预编译时把 SQL 语句全部提出来,通过绑定放到 DBRM 指定的PLAN 中,再把没有 SQL 语句的程序编译成机器语言,执行时把机器语言和 PLAN 连接起来。PLAN 中存放的是访问路径。a)预编译作业步:检查 SQL 语句并产生数据库请求模块;检查主机变量;b)COBOL 作业步:检查 COBOL 程序的语法及语义;c)连接作业步:检查 CICS 命令和语法,产生可执行模块;d)绑定作业步:BIND PLAN/PACKAGE,绑定 COBOL 和DB2;COBOL DB2 的编译过程有预编译,编译,和绑定。预编译:是 DB2 的预编译,对 SQL 语句进行处理,把源程序中的 SQL 语句提取出来到 DBRM。编译:是 COBOL 的编译,对没有 SQL 语句的源程序进行正常的 COBOL 的编译。连接:对源程序进行连接,生成编译后的可执行模块。绑定:对产生出来的可执行程序模块和生成的 PLAN 进行绑定 BIND 的作用是检查 DB2 的语法,并选择最优的路径去访问DB2 里面的表。PLAN&PACKAGE 是存放带有访问路径经过绑定后的 DBRM,PACKAGE 的优势在于将存放 SQL 的 DBRM 粒化,以更小的单位进行存放 SQL。8.为什么要用游标

    注意事项

    本文(JCL.Cobol.DB2.CICS面试题14831.pdf)为本站会员(得****3)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开