Accueil du site > Les articles > Générer dans un fichier texte des instructions insert pour exporter un (...)
Version à imprimer Enregistrer au format PDF

Générer dans un fichier texte des instructions insert pour exporter un fichier db2

jeudi 15 mai 2008, par David Malle Visites  1030

Cet article propose un programme écrit en RPGLE pour générer dans un fichier texte des instructions insert pour exporter un fichier db2.

Loin d’être parfait, je le met brut de fonderie pour exemple.

Préférez plutôt l’outil qui fonctionne à partir de V5R4 Exporter le contenu d’un fichier physique sous forme de requête insert.


Installation

  • Télécharger le fichier zip et suivre les instructions du fichier README.txt

Principe

*- On passe au programme le fichier physique, la bibliothèque, le nom du fichier texte (et son emplacement dans l’IFS, si on veut ou non écraser le fichier texte s’il existe. *- Le programme analyse la structure du fichier via les fichier systèmes. Il faut donc avoir les droits en lecture dessus. *- Le programme écrit dans le fichier texte sur l’IFS, les instructions insert.

Attention

  • Dans sa version actuelle, le programme ne double pas quotes dans les libellé dans l’instruction insert.
  • Lorsqu’un libellé contient une quote, l’insert doit la doubler. par exemple le libellé ceci n’est pas tout à fait juste doit devenir insert into fichier values (’ceci n’’est pas tout à fait juste’)
  • Ce n’est pas le cas dans cette version car l’utilitaire a été fait rapidement pour une tâche rudimentaire.

Exemple de résultat

  • Un fichier MYFIC de 6 zones (de l’alpha et du numérique)
  • Lancement de l’extraction : INSPFCMD01 BIB(MYBIB) FIC(MYFIC) IFS(’/home/myfic.txt’) *- Résultat :
00001                                                                                
--------------------------------------------------------------------------------------
insert into #LIB#.MYFIC VALUES ('901',2007,'260','D',20070101,8.000);                
insert into #LIB#.MYFIC VALUES ('901',2007,'129','D',20070101,.300);                
insert into #LIB#.MYFIC VALUES ('901',2007,'100','D',20070101,20.950);              
insert into #LIB#.MYFIC VALUES ('901',2007,'236','D',20070601,.410);                
insert into #LIB#.MYFIC VALUES ('901',2007,'108','D',20070101,8.000);                
insert into #LIB#.MYFIC VALUES ('901',2007,'963','P',20070101,6.750);                
insert into #LIB#.MYFIC VALUES ('901',2007,'963','D',20070101,1.150);                
insert into #LIB#.MYFIC VALUES ('901',2007,'100','P',20070101,15.050);              
insert into #LIB#.MYFIC VALUES ('901',2007,'456','D',20070101,1.150);                
insert into #LIB#.MYFIC VALUES ('901',2007,'128','P',20070101,.100);                
insert into #LIB#.MYFIC VALUES ('901',2007,'456','P',20070101,6.750);                
insert into #LIB#.MYFIC VALUES ('901',2007,'236','D',20070101,.400);                
insert into #LIB#.MYFIC VALUES ('901',2007,'100','D',20070701,22.000);              
insert into #LIB#.MYFIC VALUES ('901',2007,'128','D',20070101,.400);                

14 RECORD(S) SELECTED.
  • Vous pouvez bien sur modifier le traitement pour ne conserver que les lignes insert, et supprimer le #LIB# avant le nom du fichier (#LIB# qui avait été inclus pour des besoins très spécifiques).

Utilisation

  • Export vers d’autres bases, mêmes AS400 bien sur.

P.-S.

Préférez plutôt l’outil qui fonctionne à partir de V5R4 Exporter le contenu d’un fichier physique sous forme de requête insert