> Tech > Tranférer des fichiers en utilisant des commandes SQL à  partir de VB

Tranférer des fichiers en utilisant des commandes SQL à  partir de VB

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

Q : Il y a quelques années, j'ai utilisé ODBC pour transférer des fichiers de l'iSeries à  un tableur Microsoft Excel au moyen de commandes SQL (SQLopen, SQLexcequery, par exemple) à  partir de Visual Basic (VB). Mais quand j'essaie maintenant d'utiliser ces fonctions dans VB, je reçois le message «

Tranférer des fichiers en utilisant des commandes SQL à  partir de VB

sub or function not defined ». Quel est le meilleur moyen
de transférer des fichiers de l’iSeries vers Excel à  partir de VB en
utilisant des instructions SQL ? J’utilise actuellement l’AS/400 Query
pour créer un fichier de sortie à  partir des fichiers iSeries et iSeries
Access pour transférer le fichier vers Excel.

R: Il existe de nombreux moyen de transférer des données iSeries DB2 dans Excel.
L’un des plus simples consiste à  utiliser l’add-in Excel iSeries Access Data Transfer
que vous trouverez à  C:\Program Files\IBM\Client Access\Shared\cwbtfxlu.dll.
Vous pouvez aussi utiliser MSQuery et la fonction Get External Data sur l’option
du menu Excel Data. Comme vous l’avez mentionné, l’utilisation du
programme iSeries Access Data Transfer est une autre possibilité. Elle peut être
particulièrement intéressante si vous voulez exécuter un process batch sur l’iSeries
pour présélectionner les enregistrements à  télécharger.
Il est une autre commande iSeries que vous pouvez utiliser en mode batch :
CpyToImpF (Copy to Import File). Cette commande peut traduire des enregistrements
d’une table DB2 dans un fichier séparé par des virgules dans l’IFS que vous
pourrez importer directement dans Excel.
Vous pouvez aussi écrire des applications personnalisées pour transférer des
données sur Excel en utilisant VBA (VB for Applications) dans Excel en parallèle
avec ADO (ActiveX Data Object), le fournisseur ADO IBM et/ou les fournisseurs
ODBC qui sont installés avec iSeries Access.
Ma méthode préférée pour transférer des données de l’iSeries dans Excel
consiste à  écrire une application Web qui sélectionne les données puis les transfère.
L’application Web fait cela en changeant l’information d’en-tête HTTP pour
ordonner au navigateur Web de charger les données à  l’aide d’Excel. La figure 1A montre un exemple de code pour le produit Net.Data d’IBM
qui change l’information d’en-tête HTTP. La figure 1B affiche
le même code qu’un servlet Java. Toute information envoyée
à  la page Web après que l’information d’en-tête ait été définie
est ensuite automatiquement chargée dans Excel (données
séparées par des virgules, par exemple).

Pour en savoir plus sur iSeries Access
et les autres options pour transférer
des données dans Excel, consultez
ces liens :

  • cliquez ici
  • cliquez ici
  • Téléchargez gratuitement cette ressource

    IBMi et Cloud : Table ronde Digitale

    IBMi et Cloud : Table ronde Digitale

    Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

    Tech - Par iTPro - Publié le 24 juin 2010