Duw op enter om te zoeken

Het gebruik van *SYS of *SQL in de JDBC-configuratie

Author Avatar
Rudi van Helvoirt

Zoals altijd draait het bij Run SQL-scripts om de details. Hoe begin je?

1) Als je Run SQL Scripts (RSS) gebruikt van IBM i Access Client Solutions (ACS), is de huidige standaard voor de “Naamconventie” SQL(*SQL). Deze instelling vind je in het RSS-menu “Connection” => “Connected - <System>(<Database>) => Edit JDBC Configuration - Default => Format Tab.

2) Naast de “SQL(*SQL)”, is er nog een andere optie beschikbaar, de “System(*SYS)” waarde. Het effect van deze wijziging is niet beperkt tot het gebruik van de “/” in plaats van een “.” zoals je misschien zou verwachten. Er komt meer bij kijken. Ik zal dit laten zien aan de hand van enkele SQL-instructies, waarbij ik beide waarden gebruik voor de Naamconventie.
 
3) Laten we beginnen met “SQL(*SQL)”, dat is tenslotte de standaard. Voordat je een selectie-instructie uitvoert, ga je naar het RSS-menu “Connection” => "Connected - <System>(<Database>) => Edit JDBC Configuration - Default => System Tab. Voer de waarden in zoals hieronder wordt weergegeven en druk op de “Save” knop:



SQL pic 1

4) Hou er rekening mee dat je in plaats van een komma, ook een spatie tussen de waarden kunt gebruiken.

5) Voer nu de volgende SQL-instructie uit: “select current path as path from sysibm.sysdummy1”. Het resultaat laat zien dat “QIWS” en “SYSTOOLS” nu in het pad staan.

6) Als je de SQL-instructie “select * from SERVICES_INFO” uitvoert, krijg je een foutmelding met de tekst: “SERVICES_INFO in QIWS type *FILE not found”. De instructie “select current schema as schema from sysibm.sysdummy1” laat zien dat “QIWS” het huidige schema is. Als je de instructie uitvoert, voordat je iets aan de JDBC-configuratie hebt veranderd, komt het huidige schema overeen met het gebruikersprofiel dat je hebt gebruikt bij het verbinden in RSS.

7) Op het scherm opent de knop met het blauwe vraagteken een document waarin dit nader wordt toegelicht.

8) Wijzig nu de “Naming Convention” zoals hieronder wordt aangegeven en klik op de “Save” knop:

SQL Pic 2

9) Herhaal de instructie: “select * from SERVICES_INFO”. Je krijgt nu een resultaat. Het verschil ontstaat doordat er als bijkomend voordeel van het gebruik van de *SYS-naamconventie, nu in de bibliotheeklijst gezocht wordt naar een bestand met deze naam. Wanneer je de instructie “select current schema as schema from sysibm.sysdummy1” uitvoert, zie je waarom.

10) Hieronder staan een paar SQL-instructies die hierboven zijn gebruikt en een paar extra SQL-instructies om het effect van jouw wijzigingen te bekijken.

SQL PIC 3

11) Ook in tekst - dat scheelt weer typen:

Kies het juiste pad

select current path as path from sysibm.sysdummy1;
select current schema as schema from sysibm.sysdummy1;

-- Het pad wijzigen
set current path="QSYS","QSYS2","SYSPROC","SYSIBMADM","QGPL","QTEMP","usrsys","QIWS";

--Merk op dat dit geen effect heeft op het huidige schema
select current schema as schema from sysibm.sysdummy1;

-- Het schema wijzigen
set current schema QIWS;
select current schema as schema from sysibm.sysdummy1;

-- Instructie die werkt met de *SYS-naamconventie als QSYS2 in het pad staat
select * from services_info;

-- Instructie met toevoeging van het Schema dat nodig is voor de *SQL-naamconventie
select * from QSYS2.services_info;

-- en een extraatje om je op weg te helpen met DB2 for i Services

select Example from qsys2.services_info;

  • Denk eraan dat je een voorbeeld rechtstreeks in RSS kunt knippen en plakken om het uit te voeren.
  • Hieronder vind je een voorbeeld van het knippen en plakken van het eerste veld van het resultaat van de vorige opdracht.
  • Omschrijving: Heeft een IPL effect op een PTF?

SELECT PTF_IDENTIFIER, PTF_IPL_ACTION, A.*
FROM QSYS2.PTF_INFO A
WHERE PTF_IPL_ACTION <> 'NONE';

Veel plezier bij het leren over het effect van *SQL of *SYS als naamconventie.

New call-to-action

Vacatures

Wij zijn voortdurend op zoek naar nieuwe collega's!

Als je onze waarden deelt en op zoek bent naar een uitdagende job in België's Best Workplace, bezoek dan onze website.

Solliciteer nu

Schrijf je in voor onze nieuwsbrief

Follow us

  

Deel dit artikel