Gebruikershandleiding

Programmeren in een gedistribueerde omgeving

Met DB2 Connect kan een toepassingsprogramma toegang krijgen tot gegevens in DB2-databases op System/390- of AS/400-servers. Een op Windows uitgevoerde toepassing kan bijvoorbeeld toegang krijgen tot gegevens in een DB2 Universal Database for OS/390-database. Nieuwe toepassingen kunnen worden gemaakt of bestaande toepassingen kunnen worden uitgevoerd in een host- of AS/400-omgeving. U kunt ook toepassingen ontwikkelen in een bepaalde omgeving en deze vervolgens overdragen aan een andere omgeving.

Met DB2 Connect kunnen de volgende API's worden gebruikt met host-databaseproducten zoals DB2 Universal Database for OS/390, mits de betreffende API wordt ondersteund door het host-databaseproduct:

Een aantal SQL-instructies is verschillend voor de verschillende relationele-databaseproducten. U kunt de volgende categorieën SQL-instructies tegenkomen:

De SQL-instructies in de eerste twee categorieën zijn goed over te dragen, maar de instructies in de derde categorie moeten eerst worden gewijzigd. In het algemeen zijn SQL-instructies in de programmeertaal DDL (Data Definition Language) minder goed overdraagbaar dan instructies in DML (Data Manipulation Language).

DB2 Connect accepteert een aantal SQL-instructies die niet worden ondersteund door DB2 Universal Database. DB2 Connect geeft deze instructies door aan de host- of AS/400-server. Raadpleeg SQL Reference voor informatie over de maximale waarden op verschillende platforms, zoals bijvoorbeeld de maximale kolomlengte.

Als een CICS-toepassing eerst wordt uitgevoerd onder OS/390 of VSE en vervolgens onder een ander CICS-product (bijvoorbeeld CICS for AIX), kan deze met behulp van DB2 Connect ook toegang krijgen tot de OS/390- of VSE-database. Raadpleeg de handleidingen CICS/6000 Application Programming Guide en CICS Customization and Operation voor meer bijzonderheden.

Bij het programmeren in een host- of AS/400-omgeving moet u rekening houden met de volgende factoren:

DDL (Data Definition Language) gebruiken

DDL-instructies zijn verschillend voor de uiteenlopende IBM-databaseproducten omdat de opslag niet op dezelfde manier plaatsvindt op de verschillende systemen. Op host- of AS/400-serversystemen moeten mogelijk verschillende stappen worden doorlopen voor het ontwerpen van een database en het opgeven van de instructie CREATE TABLE. Met een aantal instructies kan bijvoorbeeld het ontwerp van logische objecten worden omgezet in een fysieke weergave van de desbetreffende objecten in het geheugen.

De precompiler geeft veel van deze DDL-instructies door aan de host- of AS/400-server bij het precompileren naar een host- of AS/400-serverdatabase. Deze instructies worden niet geprecompileerd als een database op het systeem staat waarop de toepassing wordt uitgevoerd. Bij een OS/2-toepassing wordt bijvoorbeeld de instructie CREATE STORGROUP correct geprecompileerd naar een DB2 Universal Database for OS/390-database, maar niet naar een DB2-database voor OS/2.

DML (Data Manipulation Language) gebruiken

In het algemeen zijn DML-instructies gemakkelijk over te dragen. De instructies SELECT, INSERT, UPDATE en DELETE zijn gelijk voor alle relationele-databaseproducten van IBM. De meeste toepassingen maken vooral gebruik van DML-instructies, die worden ondersteund door DB2 Connect.

Numerieke gegevenstypen

Als numerieke gegevens worden overgebracht naar DB2 Universal Database, wordt mogelijk het gegevenstype gewijzigd. SQLTYPE's die numeriek zijn of een niet-gecomprimeerde decimaalindeling hebben (ondersteund door DB2 Universal Database for AS/400), worden omgezet in een gecomprimeerde decimaalindeling.

Gemengde gegevens

Gemengde gegevens kunnen tekens bevatten uit de tekenset EUC (extended UNIX code), de dubbelbytetekenset (DBCS) of de enkelbytetekenset (SBCS). Op systemen waarbij gegevens worden opgeslagen in EBCDIC (OS/390, OS/400, VSE en VM), wordt het begin- en eindpunt van dubbelbytegegevens aangegeven met behulp van shift-out- en shift-in-tekens. Op systemen waarbij gegevens worden opgeslagen in ASCII (zoals OS/2 en UNIX) zijn de shift-in- en shift-out-tekens niet nodig.

Als de toepassing gemengde gegevens overdraagt van een ASCII-systeem naar een EBCDIC-systeem, moet u ervoor zorgen dat er voldoende ruimte beschikbaar is voor de shift-tekens. Voor elke overdracht van SBCS- naar DBCS-gegevens, moet u twee bytes optellen bij de gegevenslengte. Voor een betere overdraagbaarheid kunt u reeksen met variabele lengte gebruiken die gebruikmaken van gemengde gegevens.

Lange velden

Lange velden (reeksen met meer dan 254 tekens) worden op verschillende wijze verwerkt op de uiteenlopende systemen. Mogelijk ondersteunt de host- of AS/400-server slechts een aantal scalaire functies voor lange velden. Bij DB2 Universal Database for OS/390 zijn bijvoorbeeld alleen de functies LENGTH en SUBSTR toegestaan voor lange velden. Het is tevens mogelijk dat bepaalde SQL-instructies bij een host- of AS/400-server op verschillende manieren moeten worden verwerkt. Bij DB2 for VSE & VM is het bijvoorbeeld vereist dat voor de instructie INSERT alleen een hostvariabele, de SQLDA of een nullwaarde wordt gebruikt.

LOB-gegevens

LOB-gegevens worden ondersteund door DB2 Connect.

Door de gebruiker gedefinieerde gegevenstypen (UDT's)

Alleen UDT's van het type DISTINCT worden ondersteund door DB2 Connect. Het gegevenstype Abstract wordt niet ondersteund.

Het gegevenstype ROWID

Het gegevenstype ROWID wordt door DB2 Connect verwerkt als VARCHAR voor bitgegevens.

Het gegevenstype 64-bits integer (BIGINT)

Integers van acht bytes (64-bits) worden ondersteund door DB2 Connect. Het interne gegevenstype BIGINT wordt gebruikt voor de ondersteuning van de kardinaliteit van zeer grote databases, waarbij de nauwkeurigheid van de gegevens behouden blijft.

DCL (Data Control Language) gebruiken

Elk relationeel databasebeheersysteem (RDBMS) van IBM heeft verschillende granulatieniveaus voor de SQL-instructies GRANT en REVOKE. Controleer de desbetreffende publicaties om de juiste SQL-instructies voor elk databasebeheersysteem te controleren.

Verbindingen tot stand brengen en verbreken

DB2 Connect ondersteunt de versies CONNECT TO en CONNECT RESET van de CONNECT-instructie, evenals CONNECT zonder parameters. Als een toepassing een SQL-instructie aanroept zonder eerst een expliciete instructie CONNECT TO uit te voeren, wordt een impliciete CONNECT uitgevoerd op de standaard toepassingenserver (indien deze is gedefinieerd).

Als u een verbinding met een database tot stand brengt, wordt de informatie waarmee het relationele databasebeheersysteem wordt geïdentificeerd, teruggezonden in het SQLERRP-veld van de SQLCA. Als de toepassingenserver een relationele database van IBM is, worden de eerste drie bytes van het SQLERRP-veld gevormd door:

DSN
DB2 Universal Database for OS/390

ARI
DB2 for VSE & VM

QSQ
DB2 Universal Database for AS/400

SQL
DB2 Universal Database.

Als u een CONNECT TO of null-CONNECT opgeeft terwijl u gebruikmaakt van DB2 Connect, wordt de landaanduiding in het veld SQLERRMC van SQLCA blanco teruggezonden; het CCSID van de toepassingenserver wordt teruggezonden in de codetabel of codeset.

U kunt de verbinding expliciet verbreken met de instructie CONNECT RESET (verbindingstype 1), de instructies RELEASE en COMMIT (verbindingstype 2) of de instructie DISCONNECT (beide typen, behalve in een TP-monitoromgeving).

Als een verbinding niet expliciet wordt verbroken en de toepassing op normale wijze wordt beëindigd, voert DB2 Connect impliciet een COMMIT uit op de resultaatgegevens.
Opmerking:Een toepassing kan SQLCODE's ontvangen die fouten aangeven en toch op de normale wijze worden beëindigd. DB2 Connect voert in deze gevallen een COMMIT uit op de gegevens. Als u niet wilt dat er een COMMIT wordt uitgevoerd op de gegevens, moet u de opdracht ROLLBACK opgeven.

Met de opdracht FORCE kunnen bepaalde gebruikers of alle gebruikers worden losgekoppeld van de database. Dit wordt ondersteund voor host- of AS/400-serverdatabases. De gebruiker kan van het DB2 Connect-werkstation worden verwijderd.

Precompileren

Er zijn een aantal verschillen tussen de precompilers voor de verschillende relationele databasesystemen van IBM. De precompiler voor DB2 Universal Database vertoont de volgende verschillen ten opzichte van precompilers voor host- of AS/400-servers:

Rijen samenvoegen in een blok

DB2 Connect ondersteunt de bindopties van DB2 Database Manager voor het samenvoegen van rijen in een blok:

UNAMBIG
Alleen de niet-ambigue cursors worden gegroepeerd (standaard).

ALL
Ambigue cursors worden gegroepeerd.

NO
Cursors worden niet gegroepeerd.

DB2 Connect maakt gebruik van de in het configuratiebestand van DB2 Database Manager gedefinieerde blokgrootte voor het RQRIOBLK-veld. De huidige versies van DB2 Connect ondersteunen blokgroottes tot 32 767. Als grotere waarden worden opgegeven in het configuratiebestand van DB2 Database Manager, gebruikt DB2 Connect de waarde van 32 767, maar stelt het configuratiebestand van DB2 Database Manager niet opnieuw in. BLOCKING wordt op dezelfde manier uitgevoerd met dezelfde blokgrootte voor dynamische en statische SQL-instructies.
Opmerking:De meeste host- of AS/400-serversystemen beschouwen dynamische cursors als ambigu, maar DB2 Universal Database-systemen beschouwen sommige dynamische cursors als niet-ambigu. Om verwarring te voorkomen kunt u bij DB2 Connect BLOCKING ALL opgeven.

Geef de blokgrootte op in het configuratiebestand van DB2 Database Manager met behulp van de Opdrachtregelinterface (CLP), Besturingscentrum of een API, zoals beschreven in Administrative API Reference en Command Reference.

Pakketkenmerken

Een pakket heeft de volgende kenmerken:

Collection-ID
Het ID van het pakket. Dit kan worden opgegeven in de opdracht PREP.

Eigenaar
Het machtigings-ID van de eigenaar van het pakket. Dit kan worden opgegeven in de opdracht PREP of BIND.

Maker
De naam van de gebruiker die een bind uitvoert op het pakket.

Kwalificatie
De impliciete kwalificatie voor objecten in het pakket. Deze kan worden opgegeven in de opdracht PREP of BIND.

Alle host- of AS/400-serversystemen hebben beperkingen bij het gebruik van de volgende kenmerken:

DB2 Universal Database for OS/390
Alle vier de kenmerken kunnen verschillend zijn. Voor het gebruik van een andere kwalificatie zijn speciale beheerdersmachtigingen vereist. Raadpleeg de Command Reference voor DB2 Universal Database for OS/390 voor meer informatie over de voorwaarden voor het gebruik van deze kenmerken.

DB2 for VSE & VM
Alle kenmerken moeten identiek zijn. Als USER1 een bindbestand maakt (met PREP) en USER2 de feitelijke bind uitvoert, moet USER2 DBA-machtiging hebben voor het uitvoeren van een bind voor USER1. Alleen de gebruikersnaam USER1 wordt gebruikt voor kenmerken.

DB2 Universal Database for AS/400
De kwalificatie geeft een collectionnaam weer. De relatie tussen kwalificaties en eigendom heeft invloed op het verlenen en intrekken van machtigingen voor het object. De gebruikersnaam die wordt aangemeld is de maker en eigenaar, tenzij deze is gekwalificeerd door een collection-ID. In het laatste geval is het collection-ID de eigenaar. Het collection-ID moet al bestaan, voordat dit wordt gebruikt als kwalificatie.

DB2 Universal Database
Alle vier de kenmerken kunnen verschillend zijn. Voor een andere eigenaar is een beheerdersmachtiging vereist, en degene die de bind uitvoert moet beschikken over een CREATEIN-machtiging met betrekking tot het schema (als dit al bestaat).
Opmerking:DB2 Connect biedt ondersteuning voor de opdracht SET CURRENT PACKAGESET voor DB2 Universal Database for OS/390 en DB2 Universal Database.

C-reeksen die op null eindigen

De bindoptie CNULREQD schakelt de verwerking uit van de op null eindigende reeksen die zijn opgegeven met de optie LANGLEVEL.

Zie de Application Development Guide voor een beschrijving van de verwerking van op null eindigende reeksen die zijn opgegeven met de optie LANGLEVEL ingesteld op MIA of SAA1.

Standaard wordt CNULREQD ingesteld op YES. Dit zorgt ervoor dat de op null eindigende reeksen worden omgezet volgens de MIA-normen. Als een verbinding met een DB2 Universal Database for OS/390-server tot stand wordt gebracht, wordt het ten sterkste aangeraden CNULREQD in te stellen op YES. Als u een bind uitvoert op volgens SAA1-normen (met betrekking tot de op null eindigende reeksen) gecodeerde toepassingen, moet u ervoor zorgen dat de optie CNULREQD is ingesteld op NO. Als dit niet het geval is, worden de op null eindigende reeksen omgezet volgens de MIA-normen, zelfs als de reeksen zijn opgegeven met de optie LANGLEVEL ingesteld op SAA1.

De zelfstandige variabelen SQLCODE en SQLSTATE

De zelfstandige variabelen SQLCODE en SQLSTATE, zoals gedefinieerd in ISO/ANS SQL92, worden ondersteund met de precompilatieoptie LANGLEVEL SQL92E. Een SQL0020W-waarschuwing wordt verzonden tijdens het precompileren, waarmee wordt aangegeven dat LANGLEVEL niet wordt ondersteund. Deze waarschuwing geldt alleen voor de functies die in de lijst onder LANGLEVEL MIA staan in Command Reference. Dit is een onderdeel van LANGLEVEL SQL92E.

Sorteervolgorde definiëren

De verschillen tussen EBCDIC en ASCII veroorzaken verschillen in de sorteervolgorde van de verschillende databaseproducten en hebben ook invloed op de clausules ORDER BY en GROUP BY. Een manier om deze verschillen te minimaliseren, is het maken van een door de gebruiker gedefinieerde sorteervolgorde, die de sorteervolgorde van EBCDIC nabootst. U kunt uitsluitend een sorteervolgorde opgeven als u een nieuwe database maakt. Zie de Application Development Guide, de Administrative API Reference en de Command Reference voor meer informatie.
Opmerking:Databasetabellen kunnen nu in ASCII-indeling worden opgeslagen in DB2 Universal Database for OS/390. Hierdoor kunnen gegevens sneller worden uitgewisseld tussen DB2 Connect en DB2 Universal Database for OS/390. Bovendien is het niet langer noodzakelijk veldprocedures te leveren voor het converteren en opnieuw sorteren van gegevens.

Referentiële integriteit beheren

De verschillende systemen verwerken verwijzingsvoorwaarden op verschillende manieren:

DB2 Universal Database for OS/390
Voordat er een externe sorteerkolom kan worden gemaakt met behulp van een primaire sorteerkolom, moet er een index worden gemaakt voor de primaire sorteerkolom. Tabellen kunnen naar zichzelf verwijzen.

DB2 for VSE & VM
Voor een externe sorteerkolom wordt automatisch een index gemaakt. Tabellen kunnen niet naar zichzelf verwijzen.

DB2 Universal Database for AS/400
Voor een externe sorteerkolom wordt automatisch een index gemaakt. Tabellen kunnen naar zichzelf verwijzen.

DB2 Universal Database
Bij DB2 Universal Database-databases wordt er automatisch een index gemaakt voor een unieke voorwaarde, inclusief een primaire sorteerkolom. Tabellen kunnen naar zichzelf verwijzen.

Andere regels verschillen voor wat betreft het overlappende niveau.

Vergrendeling

De manier waarop de databaseserver de vergrendeling uitvoert, beïnvloedt sommige toepassingen. Toepassingen die bijvoorbeeld zijn ontworpen voor vergrendeling op rijniveau en het vergrendelingsniveau van de cursorstabiliteit, zijn niet direct te gebruiken op systemen die vergrendeling op paginaniveau uitvoeren. Vanwege deze onderliggende verschillen is het mogelijk dat de toepassingen moeten worden aangepast.

Bij DB2 Universal Database for OS/390 en DB2 Universal Database kan een time-out op een vergrendeling worden uitgevoerd en kan een foutretourcode worden verstuurd aan wachtende toepassingen.

Verschillen in SQLCODE's en SQLSTATE's

De verschillende relationele databaseprogramma's van IBM produceren niet altijd dezelfde SQLCODE's voor vergelijkbare fouten. U kunt dit probleem op een van de volgende twee manieren verhelpen:

Systeemcatalogi gebruiken

De systeemcatalogi verschillen per IBM-databaseproduct. Veel van deze verschillen kunnen teniet worden gedaan door middel van views. Raadpleeg de documentatie bij de door u gebruikte databaseserver voor meer informatie.

De catalogusfuncties in CLI omzeilen dit probleem door ondersteuning te bieden van dezelfde API en dezelfde resultaatsets voor catalogusquery's in alle DB2-producten.

Overloop van numerieke conversie bij ophaalbewerkingen

Overloop van numerieke conversie bij ophaalbewerkingen kan op verschillende manieren worden verwerkt door verschillende relationele databaseproducten van IBM. Een voorbeeld hiervan is als een kolom met decimale getallen wordt opgehaald uit DB2 Universal Database for OS/390 en DB2 Universal Database en wordt omgezet in een hostvariabele met gehele getallen. Als een decimale waarde wordt geconverteerd naar een integerwaarde, treedt mogelijk een conversie-overloop op. DB2 Universal Database for OS/390 verzendt standaard een waarschuwings-SQLCODE en een nullwaarde naar de toepassing. DB2 Universal Database verstuurt echter een foutbericht over de conversie-overloop. Het is raadzaam toepassingen hostvariabelen met de juiste grootte op te laten halen om een overloop bij numerieke conversie te voorkomen.

Vergrendelingsniveaus

DB2 Connect accepteert de volgende vergrendelingsniveaus wanneer u op de toepassing een PREP of BIND uitvoert:

RR
Herhaalbare leesbewerking

RS
Leesstabiliteit

CS
Cursorstabiliteit

UR
Niet-vastgelegde READ-opdracht

NC
Geen COMMIT

De vergrendelingsniveaus zijn van boven naar beneden gerangschikt in volgorde van grootste beveiliging naar kleinste beveiliging. Als de host- of AS/400-server het door u opgegeven vergrendelingsniveau niet ondersteunt, wordt het volgende hoogst ondersteunde niveau gebruikt.

Tabel 2 toont het resultaat van elk vergrendelingsniveau op elke host- of AS/400-toepassingenserver.

Tabel 2. Vergrendelingsniveaus
DB2 Connect DB2 Universal Database for OS/390 DB2 for VSE & VM DB2 Universal Database for AS/400 DB2 Universal Database
RR RR RR Opmerking 1 RR
RS Opmerking 2 RR COMMIT(*ALL) RS
CS CS CS COMMIT(*CS) CS
UR Opmerking 3 CS COMMIT(*CHG) UR
NC Opmerking 4 Opmerking 5 COMMIT(*NONE) UR

Opmerkingen:

  1. Er is geen vergelijkbare COMMIT-optie op DB2 Universal Database for AS/400 die overeenkomt met RR. DB2 Universal Database for AS/400 ondersteunt RR door de hele tabel te vergrendelen.

  2. Resultaten in RR voor Versie 3.1 en resultaten in RS voor Versie 4.1 met APAR PN75407 of Versie 5.1.

  3. Resultaten in CS voor Versie 3.1 en resultaten in UR voor Versie 4.1 of Versie 5.1.

  4. Resultaten in CS voor Versie 3.1 en resultaten in UR voor Versie 4.1 met APAR PN60988 of Versie 5.1.

  5. Het vergrendelingsniveau NC wordt niet ondersteund bij DB2 for VSE & VM.

Met DB2 Universal Database for AS/400 kunt u toegang krijgen tot een niet in het journaal opgenomen tabel als er een bind is uitgevoerd van de toepassing met een vergrendelingsniveau van UR en als BLOCKING is ingesteld op ALL, of als het vergrendelingsniveau is ingesteld op NC.

Opgeslagen procedures

Stored Procedure Builder

DB2 Stored Procedure Builder biedt een gebruiksvriendelijke ontwikkelingsomgeving voor het maken, installeren en testen van opgeslagen procedures. Hiermee kunt u zich concentreren op de ontwikkeling van de logica achter opgeslagen procedures en hoeft u zich niet bezig te houden met de details van het registreren, opbouwen en installeren van opgeslagen procedures op een DB2-server. Bovendien kunt u met Stored Procedure Builder opgeslagen procedures ontwikkelen op het ene besturingssysteem en vervolgens opbouwen op een ander serverbesturingssysteem.

Stored Procedure Builder is een grafische toepassing met ondersteuning voor versnelde ontwikkeling. Met Stored Procedure Builder kunt u de volgende taken uitvoeren:

U kunt Stored Procedure Builder starten als afzonderlijke toepassing vanuit de programmagroep DB2 Universal Database of u kunt Stored Procedure Builder starten via een van de volgende ontwikkelingstoepassingen:

U kunt Stored Procedure Builder ook starten vanuit het Besturingscentrum voor DB2 for OS/390. Hier kunt u Stored Procedure Builder starten als afzonderlijk proces via het menu Extra, de werkbalk of de map Stored Procedures van het Besturingscentrum. Daarnaast kunt u in het venster Project van Stored Procedure Builder een of meer geselecteerde opgeslagen SQL-procedures die zijn gemaakt op een DB2 for OS/390-server exporteren naar een opgegeven bestand dat via de Opdrachtregelinterface (CLP) kan worden uitgevoerd.

Uw werk wordt in Stored Procedure Builder beheerd met behulp van projecten. In elk project van Stored Procedure Builder worden de verbindingen met bepaalde databases opgeslagen, zoals DB2 for OS/390-servers. U kunt ook filters maken om subsets van de opgeslagen procedures in elke database af te beelden. Als u een nieuw of bestaand project van Stored Procedure Builder opent, kunt u de opgeslagen procedures filteren en afbeelden op basis van naam, schema, taal of collection-ID (alleen voor OS/390).

De verbindingsgegevens worden opgeslagen in een project van Stored Procedure Builder. Als u dus een bestaand project opent, wordt u automatisch gevraagd uw gebruikers-ID en wachtwoord voor de database in te voeren. Met de wizard Inserting SQL Stored Procedure kunt u opgeslagen SQL-procedures opbouwen op een DB2 for OS/390-server. Voor een opgeslagen SQL-procedure die is gemaakt voor een DB2 for OS/390-server kunt u bepaalde compileer-, pre-link-, link-, bind-, uitvoerings-, omgevings- en externe-beveiligingsopties instellen.

U kunt ook SQL-kostprijsgegevens over de opgeslagen SQL-procedure opvragen, zoals gegevens over de CPU-tijd, en andere DB2-kostprijsgegevens voor de thread waarop de opgeslagen SQL-procedure wordt uitgevoerd. U kunt met name kostprijsgegevens opvragen over de wachttijd bij vergrendelingsrivaliteit, het aantal opgehaalde pagina's, het aantal leesbewerkingen en het aantal schrijfbewerkingen.

Als u kostprijsgegevens opvraagt, wordt met Stored Procedure Builder een verbinding gemaakt met een DB2 for OS/390-server, wordt de SQL-instructie uitgevoerd en wordt een opgeslagen procedure (DSNWSPM) aangeroepen om te controleren hoeveel CPU-tijd de opgeslagen SQL-procedure heeft gebruikt.

Samengestelde SQL-instructie NOT ATOMIC

Samengestelde SQL biedt de mogelijkheid meerdere SQL-instructies samen te voegen tot een uitvoerbaar blok. Mogelijk wordt hierdoor de netwerkoverhead verminderd en de responstijd verbeterd.

DB2 Connect ondersteunt samengestelde SQL-instructies van het type NOT ATOMIC. Dit betekent dat het verwerken van een samengestelde SQL-instructie wordt voortgezet na een foutbericht. (Bij samengestelde SQL-instructies van het type ATOMIC, welk type niet wordt ondersteund door DB2 Connect, wordt na een fout een ROLLBACK uitgevoerd op de hele groep van samengestelde SQL-instructies.)

De uitvoering van de instructies zal worden voortgezet, totdat deze wordt beëindigd door de toepassingenserver. In het algemeen wordt de uitvoering van samengestelde SQL-instructies alleen beëindigd in het geval van ernstige fouten.

Samengestelde SQL van het type NOT ATOMIC kan worden gebruikt met alle ondersteunde host- of AS/400-toepassingenservers.

Als er meerdere SQL-fouten optreden, worden de SQLSTATE's van de eerste zeven mislukte instructies teruggezonden in het SQLERRMC-veld van de SQLCA met het bericht dat er meerdere fouten zijn opgetreden. Raadpleeg SQL Reference voor meer informatie hierover.

Update op meerdere locaties met DB2 Connect

DB2 Connect biedt u de mogelijkheid een update op meerdere locaties uit te voeren, die ook COMMIT in twee fasen wordt genoemd. Een update op meerdere locaties staat tevens bekend als update op meerdere databases binnen één gedistribueerde werkeenheid (DUOW). Of u kunt gebruikmaken van deze mogelijkheid, hangt af van verschillende factoren:

SQL-instructies voor de host- of AS/400-servers die worden ondersteund door DB2 Connect

De volgende instructies compileren correct voor de verwerking door de host- of AS/400-server, maar niet voor de verwerking door DB2 Universal Database-systemen:

Deze instructies worden ook ondersteund door de opdrachtregelinterface.

De volgende instructies worden ondersteund voor de verwerking door host- of AS/400-servers, maar worden niet toegevoegd aan het bindbestand of aan het pakket en worden niet ondersteund door de opdrachtregelinterface:

De precompiler neemt het volgende aan:

SQL-instructies voor de host- of AS/400-servers die niet worden ondersteund door DB2 Connect

De volgende SQL-instructies worden niet ondersteund door DB2 Connect of de opdrachtregelinterface:

Met DB2 for VSE & VM worden uitgebreide dynamische SQL-instructies afgewezen met SQLCODE -104 en SQLCODE's voor syntaxisfouten.


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