Attribution de valeurs aux variables Db2
Pour cela, il est nécessaire d'ajouter le paramètre db2variables dans le fichier de configuration db2hpu.cfg, associé à un nom de fichier absolu. Ce chemin doit correspondre à un fichier existant. Son contenu doit être une liste de noms de variables Db2 avec leurs valeurs associées. Il est possible de spécifier des commentaires dans ce fichier en utilisant le symbole « # ».
La première étape consiste à ajouter dans le fichier de configuration db2hpu.cfg le paramètre db2variables comme suit:
db2variables=/home/i1111/mydb2vars.txtEnsuite, le fichier spécifié au paramètre db2variables doit être créé et rempli avec autant d'entrées qu'il y a de variables Db2 à définir.
Lorsqu'une entrée est créée pour une variable Db2 dans ce fichier:
- il est obligatoire de spécifier une valeur
- il doit faire référence à une variable Db2 valide
- la valeur spécifiée doit être cohérente avec le type de données de la variable Db2 concernée
Vous trouverez ci-dessous un exemple de spécification de fichier. Pour cet exemple, trois variables Db2 sont impliquées. Elles
sont respectivement appelées ‘variable_int’ de type de données INTEGER, ‘variable_varchar’ de type de données VARCHAR et ‘variable_date’ de
type de données DATE. Leurs valeurs par défaut respectives sont les suivantes :
[i1058@lat111 ~]$ db2 "SELECT variable_int, variable_varchar, variable_date FROM TABLE1"
1 2 3
----------- -------------------- ----------
1 default_value 01/01/2010
1 record(s) selected.Optim High Performance Unloaddb2variables :
[i1058@lat111 cfg]$ cat db2hpu.cfg
# HPU default configuration
bufsize=2097152
db2dbdft=
db2instance=
doubledelim=binary
netservice=db2hpudm61
db2variables=/home/i1111/mydb2vars.txtFichier contenant le paramètre de variables Db2 :
[i1111@lat111 ~]$ cat /home/i1111/mydb2vars.txt
variable_int=10
variable_varchar='new_value'
variable_date=CURRENT DATERapport d'exécution d'une tâche basé sur une instruction SQL faisant référence aux variables Db2 suivantes:
[i1058@lat111 ~]$ db2hpu -i i1058 -f sysin
INZM031I Optim High Performance Unload for Db2 06.01.00.002.01(180702)
64 bits 07/02/2018 (Linux lat111 x86_64)
INZI473I Memory limitations: 'unlimited' for virtual memory and 'unlimited' for data segment
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+
000001 GLOBAL CONNECT TO SAMPLE;
000002 UNLOAD TABLESPACE
000003 SELECT variable_int, variable_varchar, variable_date FROM TABLE1;
000004 OUTFILE("outfile")
000005 FORMAT DEL;
INZU462I HPU control step start: 07/02/2018 11:38:56.931.
INZU463I HPU control step end : 07/02/2018 11:38:57.147.
INZU464I HPU run step start : 07/02/2018 11:38:57.223.
INZU410I HPU utility has unloaded 1 rows on lat111 host for I1058.TABLE1 in outfile.
INZU465I HPU run step end : 07/02/2018 11:38:57.248.
INZI441I HPU successfully ended: Real time -> 0m0.317090s
User time -> 0m0.251783s : Parent -> 0m0.251783s, Children -> 0m0.000000s
Syst time -> 0m0.046225s : Parent -> 0m0.046225s, Children -> 0m0.000000s Fichier de sortie contenant les valeurs définies pour les variables Db2 :
[i1111@lat111 ~]$ cat outfile
10,"new_value",20180702