> Tech > Création d’une source de données et d’une requête

Création d’une source de données et d’une requête

Tech - Par iTPro - Publié le 24 juin 2010
email

Pour transférer des informations provenant d'autres bases de données dans Excel, on utilise un driver ODBC (Open Database Connectivity). Celui de l'AS/400 fait partie de la panoplie Client Access, incluse dans la partie gratuite de l'OS/400. Pour bénéficier de ma technique de transfert, assurez-vous que le driver ODBC 32 bits

Création d’une source de données et d’une requête

de Client Access ou un autre driver ODBC compatible est installé sur le
PC. J’ai utilisé la V3R2M0 avec le service pack de Client Access SF49654 et le
driver ODBC IBM 3.00.0005. J’ai également utilisé Windows 95 avec Microsoft Excel
97 SR-1 et Microsoft Query 8.00.4209.

La première étape consiste à  créer une source de données ODBC puis une requête
chargée d’extraire des données d’une base de données externe dans Excel. Pour
cela, sélectionner Données dans la barre d’outils de l’écran principal d’Excel
et Données externes puis Créer une requête… dans les menus déroulants (figure
1). Dans la boîte de dialogue Choisir une source de données qui apparaît, sélectionner
Nouvelle Source de données et cliquer sur OK. La boîte de dialogue Créer une nouvelle
source de données s’affiche (figure 2). On peut soit choisir une source de données
ou une requête existante, soit en créer une. Donner un nom à  la nouvelle source
de données, sélectionner un driver (Client Access ODBC Driver (32 bits)) et cliquer
sur Connexion pour effectuer le transfert sur le PC. Sur l’écran Client Access
ODBC Driver Connect suivant, taper votre ID et mot de passe utilisateur sous l’onglet
Connection. En sélectionnant l’onglet Other (2) et l’option Read-Only, on peut
empêcher les utilisateurs de modifier les données ou de les manipuler.

Toutefois, l’option Read-Only présente quelques limitations liées aux droits sur
les objets (pour en savoir plus sur le sujet, voir l’article “ Comment implémenter
une sécurité au niveau objet ”, NEWSMAGAZINE, janvier 1999.) Il faudra peut-être
aussi sélectionner l’option Read-Only pour convertir les données CCSID (Coded
Character Set Identifier) 65535 pour les fichiers extraits de l’AS/400 (pour plus
d’informations sur la conversion des données CCSID, voir le manuel National Language
Support, SC41-5101-01.) Lors de la première création d’une source de données pour
une requête, il est judicieux de choisir une bibliothèque par défaut pour réduire
la liste des tables (fichiers) offerts à  votre choix. Pour définir une bibliothèque
par défaut, cliquer sur l’onglet Server sur l’écran Client Access ODBC Driver
Connect et choisir l’option Default Libraries (figure 3). Si cette option reste
vierge, la liste des tables est constituée, par défaut, de ce que l’on a sélectionné
comme option OS/400 Library View sous l’onglet Performance.

Pour sauvegarder les données source, cliquer une première fois sur OK, puis une
deuxième fois à  l’invite de la boîte de dialogue. On peut créer une source de
données contenant un nom distinct pour chaque table en sélectionnant une table
par défaut dans la boîte de dialogue Créer une nouvelle source de données, de
manière à  sauvegarder les informations dans un fichier .DSN avec des noms de fichiers
et de données source identiques. Vous voilà  prêt à  créer une requête en sélectionnant
la source de données nouvellement créée et en cliquant sur OK. Pour notre requête
initiale, nous utiliserons le Query Wizard (lequel a d’ailleurs démarré quand
on a créé la requête).
Bien que l’on puisse utiliser Microsoft Query pour joindre des tables (jointures
externes ou internes), nous n’utiliserons qu’une table pour simplifier cet exercice.
Sur l’écran Query Wizard – Choose Columns (figure 4), sélectionner les colonnes
ou les tables à  inclure dans la requête (download) et cliquer sur le bouton parenthèse
angulaire droite (>) près du haut et du centre de l’écran.
En sélectionnant le nom de la table, on sélectionne également toutes les colonnes
qu’elle contient. On peut prévisualiser les données en sélectionnant une colonne
et en cliquant sur le bouton Preview Now (cependant, il ne faut pas essayer cette
manoeuvre sur un grand fichier, car elle transfère tous les enregistrements qu’il
contient. Si le fichier possède aussi un chemin d’accès à  reconstruire, l’AS/400
va reconstruire ce chemin d’accès avant le transfert des données, allongeant considérablement
les temps d’accès aux données.)

Après avoir sélectionné les colonnes que l’on souhaite utiliser, cliquer sur le
bouton Next. Sur l’écran Query Wizard – Filter Data (figure 5), entrer les critères
de sélection. Pour définir les attributs de filtrage et de tri, on peut soit choisir
un fichier logique existant sur l’AS/400, contenant la structure select, omit
et key requise pour le transfert, soit utiliser la fonction de filtrage et de
tri de Query.
Quand on utilise le Query Wizard, l’option de filtrage s’affiche avant l’option
de tri. En choisissant une colonne à  gauche de l’écran, on active une boîte de
sélection permettant de choisir les options de filtrage (égal, supérieur à , inférieur
à ). Après avoir fait une sélection, on peut soit taper une valeur, soit choisir
l’une de celles qui sont affichées (l’utilisation de la liste déroulante avec
des fichiers volumineux peut entraîner un temps de chargement important). Répéter
l’opération en sélectionnant une autre colonne (la colonne précédente disparaissant
alors en haut de l’écran) et en effectuant les étapes ci-dessus jusqu’à  l’introduction
de tous les critères de filtrage, que Query utilisera pour construire la clause
WHERE dans l’instruction SQL qui choisit les données à  transférer.

Une fois les critères de filtrage choisis, on utilise l’option de tri de Query
pour déterminer l’ordre de chargement des enregistrements dans la feuille de calcul
Excel. Sélectionner les champs que l’on veut classer par ordre croissant ou décroissant
et répéter l’opération pour tous les champs que l’on souhaite trier. Query utilise
cette information pour construire sa clause ORDER BY dans l’instruction SQL. Sur
l’écran Query Wizard – Finish, qui s’affiche ensuite, on peut soit choisir l’option
Return Data to Microsoft Excel et cliquer sur le bouton Finish, soit continuer
à  modifier la requête en sélectionnant l’option View data. On peut aussi sauvegarder
la requête pour la modifier ultérieurement, en cliquant sur le bouton Save Query,
près du haut de l’écran. Sur l’écran Save As qui apparaît ensuite, taper le nom
de la requête, le sauvegarder comme un fichier .DQY et cliquer sur Save.

Ainsi, la requête aura un nom représentatif. Il faut sauvegarder les requêtes
en tant que fichiers .DQY parce ce que ce type de fichier .DQY contient toutes
les informations de requête et de driver sous la forme d’une instruction SQL ainsi
que le texte utilisé pour établir la connexion (c’est-à -dire, les informations
sauvegardées antérieurement dans le fichier .

DSN sont dupliquées dans les fichiers .DQY). S’il faut modifier la requête, on
interviendra directement dessus sans changer la source des données.
Sur l’écran Returning External Data to Excel qui s’affiche ensuite, sélectionner
l’option Existing worksheet et cliquer sur OK. Une icône en forme de planète apparaît
dans la partie inférieure de l’écran principal d’Excel, indiquant que le transfert
a eu lieu (on peut bien entendu continuer à  utiliser Excel pendant le transfert.)
On peut déclencher le transfert à  tout moment en sélectionnant l’onglet Données
puis Données externes et Exécuter une requête dans les menus déroulants et en
choisissant la requête précédemment sauvegardée.

Téléchargez gratuitement cette ressource

*** SMART DSI *** VERSION NUMÉRIQUE

*** SMART DSI *** VERSION NUMÉRIQUE

Découvrez SMART DSI, la nouvelle revue du Décideur IT en version numérique. Analyses et dossiers experts pour les acteurs de la transformation numérique de l'entreprise, Gagnez en compétences et expertise IT Professionnelle avec le contenu éditorial premium de SMART DSI.

Tech - Par iTPro - Publié le 24 juin 2010