Appuyez sur Entrée pour rechercher

Utilisation de *SYS ou *SQL dans la configuration JDBC

02/07/2021
Author Avatar
Rudi van Helvoirt

Comme toujours, les détails sont importants lorsque vous utilisez des scripts Run SQL. Alors, comment faut-il faire pour commencer ?

1) Lorsque vous utilisez Run SQL Scripts (RSS) à partir de IBM i Access Client Solutions (ACS), le paramètre par défaut actuel pour « Naming convention » est SQL(*SQL). Ce paramètre se trouve dans le menu RSS « Connection » => « Connected » - <System>(<Database>) => Edit JDBC Configuration - Default => Format Tab.

2) En plus de « SQL(*SQL) », une autre option est disponible, la valeur « System(*SYS) ». L'impact de ce changement ne se limite pas à l'utilisation de « / » au lieu de « . » comme vous pouvez le penser. Cela implique bien plus. Permettez-moi d'en faire la démonstration en exécutant quelques instructions SQL avec ces deux valeurs pour la convention d’appellation.
 
3) Commençons par « SQL(*SQL) », après tout c'est le paramètre par défaut. Avant d'exécuter une instruction select, allez dans le menu RSS « Connection » => « Connected - <System>(<Database>) => Edit JDBC Configuration - Default => System Tab ». Entrez les valeurs comme indiqué ci-dessous et appuyez sur le bouton « Save » :

SQL pic 1

4) Veuillez noter qu'au lieu d'utiliser une virgule entre les valeurs, vous pouvez également utiliser un espace.

5) Exécutez maintenant cette instruction SQL : « select current path as path from sysibm.sysdummy1 ». Le résultat montrera que « QIWS » et « SYSTOOLS » se trouvent maintenant dans votre chemin.

6) Lorsque vous exécutez l'instruction SQL « select * from SERVICES_INFO », vous obtenez une erreur, avec le texte suivant : « SERVICES_INFO in QIWS type *FILE not found ». L'instruction « select current schema as schema from sysibm.sysdummy1 » vous indique que « QIWS » est le schéma actuel. Si vous exécutez cette instruction avant de modifier quoi que ce soit dans la configuration JDBC, le schéma actuel correspondra au profil utilisateur que vous avez utilisé lors de la connexion à RSS.

7) Le bouton avec le point d'interrogation bleu sur l'écran vous amènera à un document où tout est expliqué en détail.

8) Modifiez maintenant la « Naming Convention » comme indiqué ci-dessous et appuyez ensuite sur le bouton « Save » :

SQL Pic 2

9) Répétez l'instruction : « select * from SERVICES_INFO ». Cette fois, vous obtiendrez un résultat. La différence est créée par le fait que, comme un effet secondaire de l'utilisation de la convention d’appellation *SYS, on cherche désormais dans la liste de la bibliothèque un fichier avec ce nom. En exécutant l'instruction « select current schema as schema from sysibm.sysdummy1 » vous verrez pourquoi.

10) Vous trouverez ci-dessous quelques instructions SQL utilisées ci-dessus et quelques instructions SQL supplémentaires pour examiner l'impact de vos changements.

SQL PIC 3

11) Également en texte pour vous éviter de taper :

Que le chemin soit avec vous

sélectionner le chemin actuel comme chemin à partir de sysibm.sysdummy1 ;
sélectionner le schéma actuel comme schéma à partir de sysibm.sysdummy1 ;

-- Changer le chemin
Définir le chemin actuel ="QSYS","QSYS2","SYSPROC","SYSIBMADM","QGPL","QTEMP","usrsys","QIWS";

-- Veuillez noter que cela n’a pas d’impact sur le schéma actuel
Sélectionnez le schéma actuel comme schéma à partir de sysibm.sysdummy1;

-- Changer le schéma
Définir le schéma actuel QIWS ;
sélectionnez le schéma actuel comme schéma à partir de sysibm.sysdummy1;

-- Déclaration fonctionnant avec la convention d’appellation *SYS si QSYS2 est dans votre chemin
sélectionnez * de services_info ;

-- Déclaration avec ajout de Schéma nécessaire pour la convention d’appellation *SQL
sélectionnez * de QSYS2.services_info;

sélectionnez Example à partir de qsys2.services_info;

sélectionnez Example à partir de qsys2.services_info;

  • Veuillez noter que vous pouvez couper et coller un exemple directement dans RSS et l'exécuter.
  • Ci-dessous un exemple de couper et coller le premier champ du résultat de la commande précédente
  • Description : Un IPL aura-t-il un impact sur l'état de la PTF ?

SELECTIONNEZ PTF_IDENTIFIER, PTF_IPL_ACTION, A.*
A PARTIR DE QSYS2.PTF_INFO A
OU PTF_IPL_ACTION <> 'NONE';

Amusez-vous en apprenant l’impact *SQL ou *SYS comme convention d’appellation.


New call-to-action

Offres d'emploi actuelles

Nous sommes toujours à la recherche de nouveau collègues

Si vous partagez nos valeurs et que vous êtes à la recherche d'un emploi stimulant au sein du meilleur lieu de travail de Belgique, visitez notre site web.

Postule maintenant

Abonnez-vous

Suivez-nous

  

Partage cet article