设为首页 收藏本站
查看: 2225|回复: 0

[经验分享] 虚拟机中CICS访问DB2资源

[复制链接]

尚未签到

发表于 2016-11-18 10:34:11 | 显示全部楼层 |阅读模式
  CICS访问的资源必须在CICS中必须要定义安装。因此,在CICS中访问DB2资源时要定义安装的资源有如下几个:
  (1)DB2CONN:定义CICS与DB2的连接,一个CICS Region中只能定义一个DB2CONN (2)DB2Entry:访问DB2的入口 (3)DB2TRANS:使用DB2资源的交易
  具体步骤如下:
  第一步:启动DB2,测试DB2是否可用,比如,自己随便建立一个表,然后写数据,使用
DSC0000.png

  第二步:在测试DB2正常时,在CICS中嵌入DB2代码:
DSC0001.png

DSC0002.png

  第三步:编译CICS-DB2 程序:
  1、PROC程序
  //DB2CICS PROC WSPC=500,
  // SUFFIX=1$,
  // INDEX='DFH320.CICS',
  // PROGLIB='DFH320.CICS.SDFHLOAD',
  // DSCTLIB='DFH320.CICS.SDFHCOB',
  // AD370HLQ='IGY340',
  // LE370HLQ='CEE',
  // DB2HLQ='DSN910',
  // DSNID='DB9G',
  // OUTC=A,
  // REG=4M,
  // LNKPARM='LIST,XREF',
  // STUB='DFHEILID',
  // LIB='SDFHSAMP',
  // WORK=SYSDA,
  // DBRMLIB=,
  // CPYLIB=,
  // COBLIB=,
  // COBMEM=,
  // DBRMMEM=&COBMEM
  //* PRECOMPILE SQL STATEMENT
  //PC EXEC PGM=DSNHPC,PARM='HOST(IBMCOB)'
  //DBRMLIB DD DSN=&DBRMLIB.(&DBRMMEM),DISP=SHR
  //STEPLIB DD DISP=SHR,DSN=&DB2HLQ..&DSNID..SDSNEXIT
  // DD DISP=SHR,DSN=&DB2HLQ..SDSNLOAD
  //SYSCIN DD DSN=&&DSNHOUT,DISP=(MOD,PASS),UNIT=3390,
  // SPACE=(800,(&WSPC,&WSPC))
  //SYSLIB DD DISP=SHR,DSN=&CPYLIB.
  // DD DISP=SHR,DSN=&COBLIB.
  //SYSPRINT DD SYSOUT=*
  //SYSTERM DD SYSOUT=*
  //SYSUDUMP DD SYSOUT=*
  //SYSUT1 DD SPACE=(800,(&WSPC,&WSPC),,,ROUND),UNIT=3390
  //SYSUT2 DD SPACE=(800,(&WSPC,&WSPC),,,ROUND),UNIT=3390
  //SYSIN DD DISP=SHR,DSN=&COBLIB.(&COBMEM.)
  //* TRANSLATE CICS STATEMENT
  //TRN EXEC PGM=DFHECP&SUFFIX,
  // PARM='COBOL3',
  // REGION=&REG
  //STEPLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR
  //SYSPRINT DD SYSOUT=&OUTC
  //SYSIN DD DISP=SHR,DSN=&&DSNHOUT
  //SYSPUNCH DD DSN=&&SYSCIN,
  // DISP=(,PASS),UNIT=&WORK,
  // DCB=BLKSIZE=400,
  // SPACE=(400,(400,100))
  //* COMPILE COBOL
  //COB EXEC PGM=IGYCRCTL,REGION=&REG,
  // PARM='NODYNAM,LIB,OBJECT,RENT,RES,APOST,MAP,XREF'
  //STEPLIB DD DSN=&AD370HLQ..SIGYCOMP,DISP=SHR
  //SYSLIB DD DSN=&DSCTLIB,DISP=SHR
  // DD DSN=&INDEX..SDFHCOB,DISP=SHR
  // DD DSN=&INDEX..SDFHMAC,DISP=SHR
  // DD DSN=&INDEX..SDFHSAMP,DISP=SHR
  //SYSPRINT DD SYSOUT=&OUTC
  //SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE)
  //SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS),
  // UNIT=&WORK,SPACE=(80,(250,100))
  //SYSUT1 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT2 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT3 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT4 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT5 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT6 DD UNIT=&WORK,SPACE=(460,(350,100))
  //SYSUT7 DD UNIT=&WORK,SPACE=(460,(350,100))
  //* COPYLINK
  //COPYLINK EXEC PGM=IEBGENER,COND=(7,LT,COB)
  //SYSUT1 DD DSN=&INDEX..&LIB(&STUB),DISP=SHR
  //SYSUT2 DD DSN=&&COPYLINK,DISP=(NEW,PASS),
  // DCB=(LRECL=80,BLKSIZE=400,RECFM=FB),
  // UNIT=&WORK,SPACE=(400,(20,20))
  //SYSPRINT DD SYSOUT=&OUTC
  //SYSIN DD DUMMY
  //* LINK-EDITED
  //LKED EXEC PGM=IEWL,REGION=&REG,
  // PARM='&LNKPARM',COND=(5,LT,COB)
  //DB2LOAD DD DSN=&DB2HLQ..SDSNLOAD,DISP=SHR
  //SYSLIB DD DSN=&INDEX..SDFHLOAD,DISP=SHR
  // DD DSN=&LE370HLQ..SCEELKED,DISP=SHR
  //SYSLMOD DD DSN=&PROGLIB,DISP=SHR
  //SYSUT1 DD UNIT=&WORK,DCB=BLKSIZE=1024,
  // SPACE=(1024,(200,20))
  //SYSPRINT DD SYSOUT=&OUTC
  //SYSLIN DD DSN=&&COPYLINK,DISP=(OLD,DELETE)
  // DD DSN=&&LOADSET,DISP=(OLD,DELETE)
  // DD DDNAME=SYSIN
  2、调用PROC的JCL程序:
  //IBMUSERA JOB NOTIFY=&SYSUID,MSGLEVEL=(1,1)
  //MYPROC JCLLIB ORDER=(CBK.A3.UTL) PROC存放的数据集
  //COMLINK1 EXEC DB2CICS, PROC的NAME
  // COBLIB='CBK.A3.SRC', 要编译的COBOL源程序的存放数据集
  // PROGLIB='CBK.A3.LOD', 生成的可执行文件的数据集
  // DBRMLIB='CBK.A3.DB2.DBRM', 存放DB2 DBRM的数据集
  // CPYLIB='CBK.A3.DB2.INCLUDE', 用DCLGEN生成的DB2文件的位置
  // DSCTLIB='CBK.A3.CPY', MAP 逻辑映像位置
  // COBMEM=DELETEI COBOL 源程序名
  //LKED.SYSIN DD * DSNHADDR和DSNHADD2是两个在编译时必
  INCLUDE DB2LOAD(DSNHADDR) 须include进来的东西所在库由DB2CICS过程
  INCLUDE DB2LOAD(DSNHADD2) 中的DB2LAOD DD语句指定
  INCLUDE SYSLMOD(DELI00) MAP 物理映像
  NAME DELETEI(R) COBOL load 模块名
  /*
  /***************BING DB2********/
  //BIND EXEC PGM=IKJEFT01,DYNAMNBR=20
  //STEPLIB DD DSN=DSN910.SDSNLOAD,DISP=SHR
  //DBRMLIB DD DSN=CBK.A3.DB2.DBRM,DISP=SHR
  //SYSUDUMP DD SYSOUT=*
  //SYSTSPRT DD SYSOUT=*
  //SYSPRINT DD SYSOUT=*
  //SYSIN DD *
  SET CURRENT SQLID = 'IBMUSER';
  GRANT EXECUTE ON PLAN IBMUSER TO PUBLIC;
  //SYSTSIN DD *
  DSN SYSTEM(DB9G)
  BIND PACKAGE(IBMUSER) MEMBER(DELETEI) -
  ACT(REP) ISO(CS) ENCODING(EBCDIC) OWNER(IBMUSER) QUALIFIER(IBMUSER)
  BIND PLAN(DELETEI) OWNER(IBMUSER) -
  PKLIST (IBMUSER.* -
  CBK.A3.* -
  ) -
  ACT(REP) ISO(CS) ENCODING(EBCDIC) OWNER(IBMUSER) QUALIFIER(IBMUSER)
  END
  /*
  第三步:启动CICS并进行定义
  1、首先定义安装程序和交易:
  CEDA DEF PROG() GROUP()
  CEDA DEF TRANS() PROG() GROUP()
  CEDA INS PROG() GROUP()
  CEDA INS TRANS() GROUP(**)
  2、定义DB2CONN:DB2CONN在CICS中只能定义一次,如果重复定义会覆盖
  首先:DSNC STOP命令来停止DB2和CICS的连接
DSC0003.png

  然后:
DSC0004.png

  安装DB2CONN
DSC0005.png

  3、定义DB2ENTRY:DB2ENTRY可以定义多个,针对不同的交易,注意,DB2entry的安装只能在DB2CONN安装之后
DSC0006.png

  安装DB2ENTRY
  将DEF 改为 INS
  4、启动DSNC:
  DSNC STRT
  5、查看DB2CONN 和DB2ENTRY是否可用:
  CEMT I DB2CONN
  CEMT I DB2ENTRY

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302049-1-1.html 上篇帖子: Oracle与DB2数据类型分类对应说明 下篇帖子: db2 快速清空表数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表