DB2 für gespeicherte Prozedurverbindungen konfigurieren
In diesem Kapitel finden Sie Informationen zum Konfigurieren von DB2 für den Fall, dass der Fernzugriff von Code unter z/OS mit einer gespeicherten Prozedurverbindung einhergeht. Die Verbindung ist aktiv, wenn der Wert des Attributs 'remoteComType' des Elements 'calllink' STOREDPROCEDURE lautet.
Workload Manager
Für das IMS-Debugging müssen Sie einen dedizierten WLM erstellen. In Rational COBOL Runtime for zSeries wird zu diesem Zweck eine Beispiel-JCL in ELA.V6R0M1.SELASAMP(ELADBWLM) bereitgestellt. Bearbeiten Sie die JCL und ändern Sie STEPLIB, damit es mit Ihrer Systemkonfiguration übereinstimmt. Stellen Sie sicher, dass STEPLIB die PDSs enthält, die die für den Zugriff benötigten aufgerufenen Programme enthalten. Stellen Sie beim Konfigurieren für das DLI-Debugging auch sicher, dass STEPLIB die PDS enthält, in der Sie die EGL-Version der Lademodule AIBTDLI und CBLTDLI erstellt haben. Die folgende Liste enthält die Beispiel-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))
Definition einer in DB2 gespeicherten Prozedur
Zum Zugreifen auf eine Datenbank auf dem Host für das EGL-Debugging benötigen Sie eine in SQL gespeicherte Prozedur. Sie müssen außerdem allen Benutzern Zugriff auf diese gespeicherte Prozedur erteilen. In Rational COBOL
Runtime for zSeries werden die folgenden Beispiel-SQL-Anweisungen in den folgenden Teildateien von ELA.V6R0M1.SELASAMP bereitgestellt:
- EZESP1CR
- Stellt Beispiel-SQL-Anweisungen zum Erstellen der gespeicherten Prozedur bereit.
- EZESP1GR
- Stellt Beispiel-SQL-Anweisungen zum Erteilen von Berechtigungen für die gespeicherte Prozedur bereit.
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)'
Ändern Sie die folgenden Platzhalter in für Ihr System passende Werte:- <schema>
- Das Schema, in dem die gespeicherte Prozedur installiert werden soll.
- <collid>
- Die Erfassungs-ID für Ihr System.
- <eladbwlm>
- Der Name des bereits vorher von Ihnen angegebenen Workload-Managers.
Sie können auch den Standardnamen der gespeicherten Prozedur (EZESP1) in der CREATE-Anweisung in einen beliebigen Namen ändern. EXTERNAL NAME kann jedoch nicht geändert werden. Wenn Sie zusätzlich den Standardnamen der gespeicherten Prozedur ändern, stellen Sie sicher, dass die beiden folgenden Voraussetzungen erfüllt sind:
- Ändern Sie den Prozedurnamen im SQL-Befehl GRANT.
- Wenn Sie den EGL-Debugger verwenden, geben Sie den neuen Namen der gespeicherten Prozedur in Ihren Debugvorgaben an:
Durch die gespeicherte Prozedur EZESP1GR.sql wird allen Benutzern der Zugriff auf EZESP1CR.sql erteilt:
GRANT EXECUTE ON PROCEDURE <schema>.EZESP1 TO PUBLIC
Ändern Sie <schema> entsprechend dem Schema, das Sie beim Erstellen der gespeicherten Prozedur angegeben haben. Wenn Sie den SQL-Namen beim Erstellen der gespeicherten Prozedur geändert haben, müssen Sie ihn hier auch ändern.