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:
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:
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:
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. |
Auf dem VSE- oder VM-System kann folgender Befehl abgesetzt werden:
grant select on tabelle to nullid with grant option
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: