Inté­gra­tion Excel-DB2 : pro­cé­dure pas à pas

Inté­gra­tion Excel-DB2 : pro­cé­dure pas à pas

jeu 8 octobre 2020 0 Par Ibmiiste

L’ou­til ACS (Access Client Solu­tions) d’IBM per­met d’im­por­ter direc­te­ment un fichier Excel dans une table DB2 sur IBM i. Cette méthode native évite les pro­grammes RPG ou CL com­plexes et fonc­tionne dès IBM i 7.3 avec les bons PTF. Par­fait pour les devs et admins qui reçoivent sou­vent des tableurs externes.

Contexte tech­nique

ACS intègre un assis­tant d’im­port Excel dans son module Run SQL Scripts. Il parse le XLS/XLSX, mappe les colonnes et insère les don­nées en base. Dis­po­nible via le client gra­tuit IBM i Access Client Solu­tions (télé­char­geable sur ibm.com).

Pro­cé­dure pas à pas avec ACS

Pré­pa­rer le fichier

Voi­ci un exemple :

Ouvrez ACS et cli­quez sur l’ou­til « Trans­ferts de données »

Une fenêtre pro­pose deux options : « Vers IBM i » ou « Depuis IBM i », selon l’on­glet sélec­tion­né. Atten­tion, cela cor­res­pond à l’ou­til clas­sique de trans­fert qui exige une table DB2 pré­exis­tante. Nous allons d’a­bord créer la table sur l’IBM i, il s’a­git d’une autre fonc­tion­na­li­té acces­sible par le menu Actions ou par le rac­cour­ci Ctrl‑D.


Un assis­tant s’ouvre, faites « Page suivante ».

Sai­sis­sez le che­min vers le fichier source de vos don­nées, puis faire « Page suivante ».

Choi­sis­sez le type de fichier source, vous avez le choix entre plu­sieurs pos­si­bi­li­tés : .csv avec colonnes sépa­rées par une vir­gule, .txt avec colonnes sépa­rées par une tabu­la­tion, .txt, .xlsx Excel récent, .xls Excel 1997–2003 et .ods ope­nof­fice. Dans notre exemple c’est un .xlsx.
Puis faites « Page suivante ».

L’as­sis­tant vous demande ensuite le nom du fichier de des­crip­tion du trans­fert qui sera créé. Vous pou­vez gar­der le nom pro­po­sé, il sera sto­cké sur votre ordi­na­teur dans le même dos­sier que le fichier source.

Sur la pro­chaine fenêtre, vous pou­vez modi­fier en sélec­tion­nant le bou­ton « Options de don­nées » les options de don­nées tel que le for­mat de date, de l’heure, du sépa­ra­teur déci­mal, du ccsid etc…

Sur cette page, vous indi­quez éven­tuel­le­ment le début et la fin du tableau à transférer.

Puis l’as­sis­tant va scan­ner les colonnes pour déter­mi­ner le type de don­nées qui y sont sto­ckées. De plus, dans notre exemple, comme la 1re ligne contient des noms de colonnes, nous cochons la cas uti­li­sée à cet effet.
Cli­quez « sur Démar­rage du scan­nage ». Si vous faites « Page sui­vante », vous aurez une alerte vous infor­mant que cela n’a pas été fait et vous serez invi­té à le faire.

Après le scan­nage et avoir cli­qué sur « Page sui­vante », vous obte­nez le résul­tat : les champs, leur type et leur lon­gueur. L’ou­til de trans­fert s’en ser­vi­ra pour créer la table DB2 sur l’IBM i. En cli­quant sur « Détail », vous pour­rez les modi­fier à votre guise.

Vous faites « Page sui­vante » et indi­quez l’IBM i sur lequel vous créer la table de destination.

Puis le nom de la table à créer sous forme « Bibliothèque/Objet ». Vous pou­vez uti­li­ser le bou­ton « Sur­vol » pour aller explo­rer l’IBM i.

Faites « Page sui­vante », l’as­si­tant vous demande le texte des­crip­tif de votre table.

Après avoir fait « Page sui­vante », vous obte­nez un résu­mé de la créa­tion de table que vous allez effectuer.

Faites « Page sui­vante », la créa­tion de la table com­mence. Une fois fini, vous arri­vez à la fin de l’as­sis­tant qui vous annonce que tout s’est bien passé.

Si des ano­ma­lies appa­raissent, des mes­sages vous aler­te­rons et vous pour­rez reve­nir en arrière sur l’as­sis­tant pour modi­fier vos sai­sis et cor­ri­ger les pro­blèmes rencontrés.

La 2me étape consiste à faire le trans­fert. Après avoir cli­quer sur « Fin », vous reve­nez à la fenêtre tra­di­tion­nelle de l’ou­til « Trans­fert de don­nées ». Allez sur l’on­glet « Vers IBM i ».

Dans la par­tie haute, sai­sis­sez ou uti­li­sez « Sur­vol » pour mettre le che­min du fichier source qui vous a ser­vi à créer la table de des­ti­na­tion.
Dans la par­tie basse, indi­quez le che­min de votre table pré­cé­dem­ment crée sur l’IBM i. Puis faites « Démar­rer le transfert ».

Pen­dant le trans­fert, vous ver­rez le compte de ligne inté­grée en bas à gauche s’in­cré­men­té au fur et à mesure du trans­fert.
A la fin du trans­fert, et si tout se passe bien, une petite fenêtre s’af­fiche vous infor­mant du bilan du transfert.

La table DB2 est remplie.