스토어드 프로시저 연계에 대해 DB2 구성
다음은 z/OS®에서 코드의 원격 액세스가 스토어드 프로시저 연계를 포함할 때 DB2® 구성에 대한 세부사항입니다. calllink 요소, remoteComType 속성 값이 STOREDPROCEDURE일 때 연계가 적용됩니다.
워크로드 관리자
IMS™ 디버깅에 대해 전용 WLM을 작성해야 합니다. zSeries용 Rational® COBOL Runtime은
ELA.V6R0M1.SELASAMP(ELADBWLM)에서 이를 수행하도록 샘플 JCL을 제공합니다. JCL을 편집하고
STEPLIB를 변경하여 시스템 구성을 일치시켜야 합니다. STEPLIB가
사용자가 액세스해야 하는 호출된 프로그램이 포함된 PDS를 포함하는지
확인하십시오. DLI 디버깅을 위해 구성할 때, STEPLIB이 AIBTDLI 및 CBLTDLI 로드 모듈의
EGL 버전을 작성한 PDS를 포함하는지도 확인하십시오. 다음 목록은
샘플 JCL을 표시합니다.
//ELADBWLM PROC RGN=0K,APPLENV=ELADBWLM,DB2SSN=#db2ssn,NUMTCB=8
//*
//SYMBOLS INCLUDE MEMBER=$INCLUDE
//*
//IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN;,TIME=NOLIMIT,DYNAMNBR=10,
// PARM='&DB2SSN;,&NUMTCB;,&APPLENV;'
//STEPLIB DD DISP=SHR,DSN=#db2.SDSNEXIT
// DD DISP=SHR,DSN=#db2.SDSNLOAD
// DD DISP=SHR,DSN=#cee.SCEERUN
// DD DISP=SHR,DSN=ELA.V6R0M1.SELALMD
// DD DISP=SHR,DSN=#cobol.SIGYCOMP
// DD DISP=SHR,DSN=&HLQTCP..SEZATCP;
//ELAPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//SYSMDUMP DD SYSOUT=*
//SYSABEND DD DUMMY
//********************************************************************
//* WORKFILES FOR COMPILERS AND BINDER
//********************************************************************
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
DB2 스토어드 프로시저 정의
EGL 디버깅에 대한 호스트에서 데이터베이스에 액세스하기 위해
SQL 스토어드 프로시저가 필요합니다. 또한 모든 사용자를 위해 이 스토어드 프로시저에
액세스를 부여해야 합니다. zSeries용 Rational COBOL
런타임은 다음 ELA.V6R0M1.SELASAMP 멤버에서 다음 샘플 SQL문을
제공합니다.
- EZESP1CR
- 스토어드 프로시저 작성을 위한 샘플 SQL 문 제공
- EZESP1GR
- 스토어드 프로시저에 권한을 부여하기 위한 샘플 SQL 문 제공
CREATE PROCEDURE <schema>.EZESP1 ( IN VAR01 INT,
IN VAR02 INT,
INOUT VAR03 VARCHAR(32672) FOR BIT DATA,
INOUT VAR04 BLOB(524288) )
EXTERNAL NAME EZESP1
LANGUAGE COBOL
PARAMETER STYLE GENERAL
NOT DETERMINISTIC
COLLID <collid>
WLM ENVIRONMENT <eladbwlm>
RUN OPTIONS 'ALL31(OFF) STACK(,,BELOW)'
다음 플레이스홀더를
시스템에 적합한 값으로 변경하십시오.- <schema>
- 스토어드 프로시저를 설치할 스키마입니다.
- <collid>
- 시스템의 콜렉션 ID입니다.
- <eladbwlm>
- 이전에 지정한 워크로드 관리자의 이름입니다.
기본 스토어드 프로시저 이름, EZESP1을 CREATE 문의 이름으로
변경할 수도 있습니다. 그러나 EXTERNAL
NAME은 변경하지 마십시오. 또한 기본 스토어드 프로시저 이름을 변경하는 경우
다음을 모두 수행해야 합니다.
- SQL GRANT 명령에서 프로시저 이름을 변경하십시오.
- EGL 디버거를 사용 중인 경우 디버그 환경 설정에서 새 스토어드 프로시저 이름을 지정하십시오.
스토어드 프로시저 EZESP1GR.sql은 모든 사용자에게 EZESP1CR.sql에 대한 액세스를 제공합니다.
GRANT EXECUTE ON PROCEDURE <schema>.EZESP1 TO PUBLIC
스토어드 프로시저를 작성할 때 지정한 스키마를 일치시키도록 <schema>를 변경하십시오. 또한 스토어드 프로시저를 작성할 때 SQL 이름을 변경한 경우, 여기에서도 SQL 이름을 변경해야 합니다.