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: 'Fenster' > 'Benutzervorgaben' > 'EGL' > 'Debug' > 'Debug für IMS-DLI'
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.


Feedback