Gebruikershandleiding

Binding van toepassingen en hulpprogramma's

Toepassingsprogramma's die zijn ontwikkeld met ingesloten SQL-instructies, moeten worden verbonden met alle databases waarmee wordt gewerkt. Op platforms waar deze functies beschikbaar zijn, kunt u de verbindingen maken met het Opdrachtcentrum en met Clientconfiguratie.

Voor elke database moet per toepassing één keer een bind worden uitgevoerd. Tijdens het uitvoeren van de bindopdracht, worden de methoden voor toegang tot de databases opgeslagen voor elke SQL-instructie die wordt uitgevoerd. Deze toegangsmethoden worden geleverd door toepassingsontwikkelaars en worden opgeslagen in bindbestanden. De bindbestanden worden gemaakt tijdens de precompilatie. Binding is het verwerken van bindbestanden door een host- of AS/400-databaseserver. Raadpleeg voor meer informatie over het uitvoeren van binds de Application Development Guide.

Een aantal hulpprogramma's die worden geleverd met DB2 Connect, worden ontwikkeld met ingesloten SQL-instructies. Daarom moet er een bind worden uitgevoerd met een host- of AS/400-databaseserver voordat ze met het systeem kunnen worden gebruikt. Als u geen gebruik maakt van de lijsten met DB2 Connect-hulpprogramma's en interfaces in Tabel 4, hoeft u hiervoor ook geen bind uit te voeren met alle host- of AS/400-databaseservers. De lijsten met bindbestanden die zijn vereist voor deze hulpprogramma's zijn opgenomen in de volgende bestanden:

ddcsmvs.lst
Voor MVS of OS/390

ddcsvse.lst
Voor VSE

ddcsvm.lst
Voor VM

ddcs400.lst
Voor OS/400

Als u een bind uitvoert tussen een van deze bestandenlijsten en een database, worden alle afzonderlijke hulpprogramma's verbonden met die database.

Als DB2 Connect Enterprise Edition is geïnstalleerd, moet er een bind worden uitgevoerd tussen de DB2 Connect-hulpprogramma's en alle host- of AS/400-databaseservers. Voor elk type clientplatform moet één keer een bind worden uitgevoerd voordat deze platforms kunnen worden gebruikt met het systeem.

Als u bijvoorbeeld tien OS/2-clients, tien Windows-clients en tien AIX-clients hebt die zijn verbonden met DB2 Universal Database for OS/390 via een DB2 Connect Enterprise Edition for Windows NT-server, voert u de volgende handelingen uit:

  1. Voer een bind uit met ddcsmvs.lst vanaf een van de Windows-clients.
  2. Voer een bind uit met ddcsmvs.lst vanaf een van de OS/2-clients.
  3. Voer een bind uit met ddcsmvs.lst vanaf een van de AIX-clients.
  4. Voer een bind uit met ddcsmvs.lst vanaf de DB2 Connect-server.
Opmerking:Hierbij wordt er vanuit gegaan dat alle clients van hetzelfde serviceniveau zijn. Als dit niet zo is, moet u wellicht ook een bind uitvoeren vanaf elke client van een bepaald serviceniveau. Raadpleeg Bijlage E, Hulpprogramma's voor binding van back-level clients als u nog clients hebt met een versie ouder dan DB2 Versie 2.1.

Naast de DB2 Connect-hulpprogramma's, moet ook op alle overige toepassingen met ingesloten SQL-instructies een bind worden uitgevoerd met alle databases waarmee deze moeten werken. Een toepassing waarvoor geen bind is uitgevoerd, geeft in het algemeen foutbericht SQL0805N op het moment dat deze wordt uitgevoerd. U wilt wellicht een extra bestand met bindgegevens maken voor alle toepassingen waarvoor een bind moet worden uitgevoerd.

Voor alle host- of AS/400-databaseservers waarop u een bind uitvoert, doet u het volgende:

  1. Zorg ervoor dat u de juiste machtigingen hebt voor het beheersysteem van de host- of AS/400-databaseserver:

    MVS of OS/390
    De vereiste machtigingen zijn:
    • SYSADM of
    • SYSCTRL of
    • BINDADD en  CREATE IN COLLECTION NULLID
    Opmerking:De machtigingen BINDADD en CREATE IN COLLECTION NULLID bieden alleen voldoende machtiging als de pakketten nog niet bestaan. Bijvoorbeeld, als u een pakket voor de eerste keer maakt.

    Als de pakketten al bestaan en u voert opnieuw een bind uit, is de machtiging die nodig is voor het voltooien van de taak/taken afhankelijk van degene die de bind in eerste instantie heeft uitgevoerd.

    A: Als u de oorspronkelijke bind hebt uitgevoerd en u doet dit opnieuw, kunt u de bind voltooien met een van de bovenstaande machtigingen.

    B: Als de oorspronkelijke bind is uitgevoerd door iemand anders en u voert de tweede bind uit, hebt u de machtiging SYSADM of SYSCTRL nodig om de bind te voltooien. Met alleen de machtigingen BINDADD en CREATE IN COLLECTION NULLID kunt u de bind niet voltooien. Het is wel mogelijk om een pakket te maken zonder SYSADM- of SYSCTRL-machtiging. In dit geval hebt u de machtiging BIND nodig voor alle bestaande pakketten die u wilt vervangen.

    VSE of VM
    De vereiste machtiging is DBA. Als u de optie GRANT wilt gebruiken voor de bindopdracht (om te voorkomen dat afzonderlijk toegang wordt verschaft tot elk DB2 Connect-pakket), moet het gebruikers-ID NULLID gemachtigd zijn voor het verlenen van een machtiging aan andere gebruikers in de volgende tabellen:
    • system.syscatalog
    • system.syscolumns
    • system.sysindexes
    • system.systabauth
    • system.syskeycols
    • system.syssynonyms
    • system.syskeys
    • system.syscolauth

    Op het VSE- of VM-systeem kunt u het volgende opgeven:

          grant select on table to nullid with grant option
    

    OS/400
    Machtigingsniveau *CHANGE of hoger voor de NULLID-collection.
  2. Geef opdrachten op zoals de volgende:
          db2 connect to DBALIAS user USERID using
    PASSWORD
       db2 bind pad@ddcsmvs.lst blocking all
             sqlerror continue messages ddcsmvs.msg grant public
       db2 connect reset
    

    Hierbij zijn DBALIAS, USERID en PASSWORD van toepassing op de host- of AS/400-databaseserver, is ddcsmvs.lst het bestand met bindgegegevens voor MVS en geeft pad de locatie van het bestand met bindgegevens aan.

    station:\sqllib\bnd\ is bijvoorbeeld van toepassing op alle Intel-besturingssystemen en INSTHOME/sqllib/bnd/ op alle UNIX-besturingssystemen, waarbij station het logische station aangeeft waarop DB2 Connect is geïnstalleerd, en INSTHOME de HOME-directory van het DB2 Connect-subsysteem aangeeft.

    U kunt gebruikmaken van de optie GRANT van de opdracht BIND om de machtiging EXECUTE te verlenen aan PUBLIC of aan een bepaalde gebruikersnaam of een bepaald groeps-ID. Als u niet gebruikmaakt van de optie GRANT van de opdracht BIND, moet u de opdracht GRANT EXECUTE (RUN) per pakket toewijzen.

    Als u de pakketnamen voor de bindbestanden wilt weten, geeft u de volgende opdracht op:

      ddcspkgn @bindbest.lst
    

    Bijvoorbeeld:

       ddcspkgn @ddcsmvs.lst
    

    kan de volgende uitvoer hebben:

                                                                          
     Bindbestand                    Pakketnaam
     ------------------------------ ------------------------------        
     f:\sqllib\bnd\db2ajgrt.bnd     SQLAB6D3
                                                                          
    

    In Tabel 4 vindt u de bindbestanden en pakketnamen die worden gebruikt bij de verschillende onderdelen van DB2 Connect. In sommige gevallen worden verschillende bindbestanden en pakketten gebruikt op de verschillende besturingssystemen.

    Tabel 4. Bindbestanden en pakketten
    Onderdeel Bindbestand Pakket MVS of OS/390 VSE VM OS/400
    Binder (gebruikt door de bindoptie GRANT) db2ajgrt.bnd sqlabxxx ja ja ja ja
    DB2 Call Level Interface
    Vergrendelingsniveau CS db2clics.bnd sqll1xxx ja ja ja ja
    Vergrendelingsniveau RR db2clirr.bnd sqll2xxx ja ja ja ja
    Vergrendelingsniveau UR db2cliur.bnd sqll3xxx ja ja ja ja
    Vergrendelingsniveau RS db2clirs.bnd sqll4xxx ja ja ja ja
    Vergrendelingsniveau NC db2clinc.bnd sqll5xxx nee nee nee ja
    Met MVS-tabelnamen db2clims.bnd sqll7xxx ja nee nee nee
    Met OS/400-tabelnamen (OS/400 3.1 of later) db2clias.bnd sqllaxxx nee nee nee ja
    Met VSE/VM-tabelnamen db2clivm.bnd sqll8xxx nee ja ja nee
    Opdrachtregelinterface
    Vergrendelingsniveau CS db2clpcs.bnd sqlc2xxx ja ja ja ja
    Vergrendelingsniveau RR db2clprr.bnd sqlc3xxx ja ja ja ja
    Vergrendelingsniveau UR db2clpur.bnd sqlc4xxx ja ja ja ja
    Vergrendelingsniveau RS db2clprs.bnd sqlc5xxx ja ja ja ja
    Vergrendelingsniveau NC db2clpnc.bnd sqlc6xxx nee nee nee ja
    REXX
    Vergrendelingsniveau CS db2arxcs.bnd sqla1xxx ja ja ja ja
    Vergrendelingsniveau RR db2arxrr.bnd sqla2xxx ja ja ja ja
    Vergrendelingsniveau UR db2arxur.bnd sqla3xxx ja ja ja ja
    Vergrendelingsniveau RS db2arxrs.bnd sqla4xxx ja ja ja ja
    Vergrendelingsniveau NC db2arxnc.bnd sqla5xxx nee nee nee ja
    Hulpprogramma
    Exporteren db2uexpm.bnd sqlubxxx ja ja ja ja
    Importeren db2uimpm.bnd sqlufxxx ja ja ja ja

    Als u deze waarden wilt vaststellen voor DB2 Connect, voert u het hulpprogramma ddcspkgn uit, bijvoorbeeld:

       ddcspkgn @ddcsmvs.lst
    

    Dit hulpprogramma kan ook worden gebruikt om de pakketnaam van afzonderlijke bindbestanden vast te stellen, bijvoorbeeld:

       ddcspkgn bindbest.bnd
    

    Als op het DB2 for MVS/ESA-systeem een PTF voor APAR PN60988 is geïnstalleerd (of een hogere release dan Versie 3 Release 1), kunt u ook de bindbestanden voor vergrendelingsniveau NC toevoegen aan het bestand ddcsmvs.lst.

    Raadpleeg de Command Reference voor meer informatie over bindopties.

    Opmerkingen:

    1. Het gebruik van de bindoptie sqlerror continue is verplicht. Deze optie wordt echter automatisch opgegeven als u een bind uitvoert voor toepassingen met de hulpprogramma's van DB2 of de Opdrachtregelinterface (CLP). Als u deze optie opgeeft, worden bindfouten gewijzigd in waarschuwingen, zodat een bind voor een bestand met fouten nog steeds tot een nieuw pakket kan leiden. Hierdoor kunt u een bindbestand gebruiken met meerdere servers, zelfs wanneer een bepaalde serverimplementatie aangeeft dat de SQL-syntaxis ongeldig is. Er kunnen daarom waarschuwingen worden gegeven als u een bind uitvoert tussen een van de lijstbestanden (ddcsxxx.lst) en een bepaalde host- of AS/400-databaseserver. Als u bijvoorbeeld een bind uitvoert met DB2 for VM, kunnen er verschillende waarschuwingsberichten worden gegeven omdat in DB2 for VM geen cursors worden toegestaan die zijn gedeclareerd met "WITH HOLD".

    2. Voor een verbinding met een DB2 Universal Database-database via DB2 Connect gebruikt u de bindlijst db2ubind.lst en geeft u SQLERROR CONTINUE niet op. SQLERROR CONTINUE is alleen geldig als u een verbinding maakt met een host- of AS/400-databaseserver. Als u een verbinding wilt maken met een DB2 Universal Database-database, kunt u het beste gebruikmaken van de DB2-clients die worden geleverd bij DB2 en niet van de DB2 Connect-clients.
  3. Gebruik voor alle toepassingen of toepassingenlijsten dezelfde instructies voor het uitvoeren van een bind.
  4. Als u clients op afstand hebt van een vorige release van DB2, moet u wellicht een bind uitvoeren tussen de hulpprogramma's op deze clients en DB2 Connect. Raadpleeg voor meer informatie Bijlage E, Hulpprogramma's voor binding van back-level clients.


[ Begin van pagina | Vorige pagina | Volgende pagina | Inhoud | Trefwoordenregister ]