DB2 Connect Benutzerhandbuch

Kapitel 7. Binden von Anwendungen und Dienstprogrammen

Anwendungsprogramme, die mit eingebettetem SQL entwickelt wurden, müssen an jede Datenbank gebunden werden, mit der sie arbeiten sollen. Auf Plattformen, auf denen diese Funktionen zur Verfügung stehen, können Sie dies mit der Befehlszentrale und Client-Konfiguration - Unterstützung durchführen.

Das Binden muß einmal pro Anwendung für jede Datenbank durchgeführt werden. Bei dem Bindeprozeß werden Datenbankzugriffspläne für jede SQL-Anweisung gespeichert, die ausgeführt wird. Diese Zugriffspläne werden von den Anwendungsentwicklern bereitgestellt und in Bindedateien gespeichert, die während der Vorkompilierung erstellt werden. Die Verarbeitung dieser Bindedateien durch einen Datenbank-Server auf einem Host oder System IBM AS/400 wird als Binden bezeichnet. Weitere Informationen zum Binden finden Sie im Handbuch Application Development Guide.

Da einige der mit DB2 Connect bereitgestellten Dienstprogramme mit eingebettetem SQL entwickelt wurden, müssen sie an einen Datenbank-Server auf einem Host oder System IBM AS/400 gebunden werden, bevor sie mit diesem System verwendet werden können. Wenn die Dienstprogramme und Schnittstellen von DB2 Connect, die in Tabelle 4 aufgeführt sind, nicht verwendet werden, müssen sie auch nicht an Ihre Host- oder AS/400-Datenbank-Server gebunden werden. Die Liste der Bindedateien, die von diesen Dienstprogrammen benötigt werden, ist in den folgenden Dateien enthalten:

ddcsmvs.lst
Für MVS oder OS/390

ddcsvse.lst
Für VSE

ddcsvm.lst
Für VM

ddcs400.lst
Für OS/400

Durch Binden einer dieser Dateilisten an eine Datenbank wird jedes einzelne Dienstprogramm an die betreffende Datenbank gebunden.

Wenn DB2 Connect Enterprise Edition installiert ist, müssen die Dienstprogramme von DB2 Connect an jeden Host- oder AS/400-Datenbank-Server gebunden werden (einmal von jeder Art der Client-Plattform aus), bevor sie mit dem entsprechenden System verwendet werden können.

Wenn Sie z. B. 10 OS/2-Clients, 10 Windows-Clients und 10 AIX-Clients haben, die über einen DB2 Connect Enterprise Edition-Server für Windows NT mit DB2 Universal Database für OS/390 verbunden werden, gehen Sie wie folgt vor:

  1. Binden Sie ddcsmvs.lst von einem der Windows-Clients aus.
  2. Binden Sie ddcsmvs.lst von einem der OS/2-Clients aus.
  3. Binden Sie ddcsmvs.lst von einem der AIX-Clients aus.
  4. Binden Sie ddcsmvs.lst vom DB2 Connect-Server aus.
Anmerkung:Dabei wird davon ausgegangen, daß alle Clients dieselbe Servicestufe haben. Ist dies nicht der Fall, müssen Sie sie unter Umständen zusätzlich von jedem Client einer bestimmten Servicestufe binden. Wenn Sie Clients mit älteren Versionen als DB2 Version 2.1 haben, finden Sie entsprechende Informationen in Anhang E, Binden von Dienstprogrammen für Clients früherer Versionen.

Zusätzlich zu Dienstprogrammen von DB2 Connect müssen alle anderen Anwendungen, die eingebettetes SQL verwenden, an jede Datenbank gebunden werden, mit der sie arbeiten sollen. Eine Anwendung, für die kein Bindevorgang ausgeführt wurde, erzeugt bei der Ausführung normalerweise die Fehlernachricht SQL0805N. Es ist in vielen Fällen sinnvoll, eine zusätzliche Bindelistendatei für alle Anwendungen zu erstellen, für die ein Bindevorgang erforderlich ist.

Führen Sie für jeden Host- oder AS/400-Datenbank-Server, an den eine Anwendung gebunden wird, folgende Schritte aus:

  1. Stellen Sie sicher, daß Sie über die erforderliche Berechtigung für das Verwaltungssystem des verwendeten Datenbank-Servers auf dem Host oder System IBM AS/400 verfügen:

    MVS oder OS/390
    Folgende Berechtigungen sind erforderlich:
    • SYSADM oder
    • SYSCTRL oder
    • BINDADD und  CREATE IN COLLECTION NULLID
    Anmerkung:Die Zugriffsrechte BINDADD und CREATE IN COLLECTION NULLID sind nur dann ausreichend, wenn die Pakete noch nicht existieren (z. B. wenn Sie sie zum ersten Mal erstellen).

    Wenn sie bereits existieren und erneut gebunden werden, hängt die für diesen Vorgang bzw. diese Vorgänge erforderliche Berechtigung davon ab, wer den ursprünglichen Bindevorgang ausführte.

    A Wenn Sie selbst den ursprünglichen Bindevorgang ausführten und den Bindevorgang nun erneut ausführen, ist eine beliebige der oben aufgeführten Berechtigungen zum Ausführen des Bindevorgangs ausreichend.

    B Wenn ein anderer Benutzer den ursprünglichen Bindevorgang ausführte und Sie den zweiten Bindevorgang ausführen, wird hierfür die Berechtigung SYSADM oder die Berechtigung SYSCTRL benötigt. Mit den Berechtigungen BINDADD und CREATE IN COLLECTION NULLID allein können Sie den Bindeprozeß nicht durchführen. Ein Paket kann auch dann erstellt werden, wenn weder die Berechtigung SYSADM noch die Berechtigung SYSCTRL vorhanden ist. In dieser Situation benötigen Sie die Berechtigung BIND für jedes der vorhandenen Pakete, das Sie ersetzen wollen.

    VSE oder VM
    Eine DBA-Berechtigung ist erforderlich. Wenn Sie die Option GRANT mit dem Befehl BIND verwenden wollen (um zu vermeiden, daß der Zugriff für jedes DB2 Connect-Paket einzeln erteilt werden muß), muß die Benutzer-ID NULLID die Berechtigung zum Erteilen der Berechtigung für die folgenden Tabellen an andere Benutzer haben:
    • system.syscatalog
    • system.syscolumns
    • system.sysindexes
    • system.systabauth
    • system.syskeycols
    • system.syssynonyms
    • system.syskeys
    • system.syscolauth

    Auf dem VSE- oder VM-System kann folgender Befehl abgesetzt werden:

          grant select on tabelle to nullid with grant option
    

    OS/400
    Berechtigung *CHANGE oder eine höhere Berechtigung in der Objektgruppe NULLID

  2. Führen Sie Befehle aus, die den folgenden ähneln:
       
       db2 connect to DBALIAS user BENUTZER-ID using    KENNWORT
       db2 bind pfad@ddcsmvs.lst blocking all
       sqlerror continue messages ddcsmvs.msg grant public
       db2 connect reset
    

    Dabei gilt: DBALIAS, BENUTZER-ID und KENNWORT beziehen sich auf den Host- oder AS/400-Datenbank-Server, 'ddcsmvs.lst' ist die Bindelistendatei für MVS, und pfad ist die Speicherposition der Bindelistendatei.

    Beispiel: laufwerk:\sqllib\bnd\ gilt für alle Intel-Betriebssysteme, und INSTHOME/sqllib/bnd/ gilt für alle UNIX-Betriebssysteme. Dabei ist laufwerk das logische Laufwerk, auf dem DB2 Connect installiert ist, und INSTHOME ist das Benutzerverzeichnis des DB2 Connect-Exemplars.

    Mit der Option GRANT des Befehls BIND kann das Zugriffsrecht EXECUTE an PUBLIC oder einen angegebenen Benutzernamen bzw. eine angegebene Gruppen-ID erteilt werden. Wenn die Option GRANT des Befehls BIND nicht verwendet wird, muß GRANT EXECUTE (RUN) für jeden einzelnen Fall ausgeführt werden.

    Die Paketnamen für die Bindedateien können mit folgendem Befehl ermittelt werden:

      ddcspkgn @bindedat.lst
    

    Beispiel:

       ddcspkgn @ddcsmvs.lst
    

    Dadurch würde die folgende Ausgabe erstellt:

                                                                          
     Bindedatei                     Paketname                          
     ------------------------------ ------------------------------        
     f:\sqllib\bnd\db2ajgrt.bnd     SQLAB6D3
                                                                          
    

    In Tabelle 4 sind die Namen der Bindedateien und Pakete aufgeführt, die von den verschiedenen Komponenten von DB2 Connect verwendet werden. In einigen Fällen werden für die einzelnen Betriebssysteme unterschiedliche Bindedateien und Pakete verwendet.

    Tabelle 4. Bindedateien und Pakete
    Komponente Bindedatei Paket MVS oder OS/390 VSE VM OS/400
    Binder (verwendet von der Bindeoption GRANT) db2ajgrt.bnd sqlabxxx Ja Ja Ja Ja
    DB2 Call Level Interface
    Isolationsstufe CS db2clics.bnd sqll1xxx Ja Ja Ja Ja
    Isolationsstufe RR db2clirr.bnd sqll2xxx Ja Ja Ja Ja
    Isolationsstufe UR db2cliur.bnd sqll3xxx Ja Ja Ja Ja
    Isolationsstufe RS db2clirs.bnd sqll4xxx Ja Ja Ja Ja
    Isolationsstufe NC db2clinc.bnd sqll5xxx Nein Nein Nein Ja
    Verwendung von MVS-Tabellennamen db2clims.bnd sqll7xxx Ja Nein Nein Nein
    Verwendung von OS/400-Tabellennamen (OS/400 Version 3.1 oder höher) db2clias.bnd sqllaxxx Nein Nein Nein Ja
    Verwendung von VSE/VM-Tabellennamen db2clivm.bnd sqll8xxx Nein Ja Ja Nein
    Befehlszeilenprozessor
    Isolationsstufe CS db2clpcs.bnd sqlc2xxx Ja Ja Ja Ja
    Isolationsstufe RR db2clprr.bnd sqlc3xxx Ja Ja Ja Ja
    Isolationsstufe UR db2clpur.bnd sqlc4xxx Ja Ja Ja Ja
    Isolationsstufe RS db2clprs.bnd sqlc5xxx Ja Ja Ja Ja
    Isolationsstufe NC db2clpnc.bnd sqlc6xxx Nein Nein Nein Ja
    REXX
    Isolationsstufe CS db2arxcs.bnd sqla1xxx Ja Ja Ja Ja
    Isolationsstufe RR db2arxrr.bnd sqla2xxx Ja Ja Ja Ja
    Isolationsstufe UR db2arxur.bnd sqla3xxx Ja Ja Ja Ja
    Isolationsstufe RS db2arxrs.bnd sqla4xxx Ja Ja Ja Ja
    Isolationsstufe NC db2arxnc.bnd sqla5xxx Nein Nein Nein Ja
    Dienstprogramme
    Export db2uexpm.bnd sqlubxxx Ja Ja Ja Ja
    Import db2uimpm.bnd sqlufxxx Ja Ja Ja Ja

    Führen Sie zum Ermitteln dieser Werte für DB2 Connect das Dienstprogramm ddcspkgn aus, z. B.:

       ddcspkgn @ddcsmvs.lst
    

    Dieses Dienstprogramm kann wahlfrei zum Ermitteln des Paketnamens einzelner Bindedateien verwendet werden, z. B.:

       ddcspkgn bindedat.bnd
    

    Wenn auf Ihrem DB2 für MVS/ESA-System die Berichtigung für APAR PN60988 installiert ist (oder wenn es sich um ein späteres Release als Version 3 Release 1 handelt), können Sie der Datei ddcsmvs.lst auch die Bindedateien für die Isolationsstufe NC hinzufügen.

    Das Handbuch Command Reference enthält weitere Informationen zu Bindeoptionen.

    Anmerkungen:

    1. Die Verwendung der Bindeoption sqlerror continue ist erforderlich. Diese Option wird jedoch automatisch für Sie angegeben, wenn Sie Anwendungen mit DB2-Tools oder dem Befehlszeilenprozessor binden. Diese Option wandelt Bindefehler in Warnungen um, so daß beim Binden einer Datei mit Fehlern immer noch ein Paket erstellt werden kann. Dies erlaubt es wiederum, eine Bindedatei für mehrere Server zu verwenden, selbst wenn eine bestimmte Server-Implementierung die SQL-Syntax einer anderen als ungültig markiert. Daher wird erwartet, daß das Binden einer der Listendateien ddcsxxx.lst für einen bestimmten Host- oder AS/400-Datenbank-Server einige Warnungen ergibt. Beim Binden an DB2 für VM z. B. können zahlreiche Warnungen auftreten, da DB2 für VM nicht erlaubt, daß bei der Cursordeklaration "WITH HOLD" verwendet wird.

    2. Wenn Sie die Verbindung zu einer Datenbank unter DB2 Universal Database über DB2 Connect herstellen, verwenden Sie die Bindeliste db2ubind.lst, und geben Sie nicht sqlerror continue an, da dies nur gültig ist, wenn eine Verbindung zu einem Host- oder AS/400-Datenbank-Server hergestellt wird. Für die Verbindung zu einer Datenbank unter DB2 Universal Database wird außerdem empfohlen, die mit DB2 ausgelieferten DB2-Clients und nicht DB2 Connect zu verwenden.

  3. Verwenden Sie ähnliche Anweisungen, um jede Anwendung oder Liste von Anwendungen zu binden.
  4. Wenn ferne Clients aus einem früheren Release von DB2 vorhanden sind, ist es möglicherweise erforderlich, die Dienstprogramme auf diesen Clients an DB2 Connect zu binden. Anhang E, Binden von Dienstprogrammen für Clients früherer Versionen enthält weitere Informationen.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]