IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI Delphi Discussion :

Batch pour résoudre la lenteur du pc causée par un tranfert AS400 vers PC ?


Sujet :

EDI Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 111
    Par défaut Batch pour résoudre la lenteur du pc causée par un tranfert AS400 vers PC ?
    Bonjour,
    J'ai écris un programme delphi qui prend des données des tables DB2 sur As400 vers Interbase sur PC. Seulement, ce transfert monopolise le Pc. Il devient infiniment lent. Pour y remédier, je voudrais le faire en Batch. Que faire pour que l'éxécution de ce programme ne monopolise plus le Pc? Le programme batch serait-il la solution, à votre avis? Si oui, comment l'écrire?
    Merci à vous.

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Clotilde Voir le message
    Bonjour,
    J'ai écris un programme delphi qui prend des données des tables DB2 sur As400 vers Interbase sur PC. Seulement, ce transfert monopolise le Pc. Il devient infiniment lent. Pour y remédier, je voudrais le faire en Batch. Que faire pour que l'éxécution de ce programme ne monopolise plus le Pc? Le programme batch serait-il la solution, à votre avis? Si oui, comment l'écrire?
    Merci à vous.
    Bonjour,

    alors première chose, personnellement pour les transferts AS/400-PC je n'utilise plus que FTP qui présente l'avantage de ne nécessité rien de particulier sur le PC (ClientAccess) et de donner des taux de transfert très efficaces.

    deuxièmement, ton programme doit probablement faire une boucle qui lit un enregistrement sur AS/400 et écrit dans Interbase...si c'est un programme visuel, il suffit d'ajouter un Application.ProcessMessages dans la boucle pour débloquer le tout...ATTENTION dans ce cas il faut désactiver les éléments du menu, boutons, etc...qui pourrait relancer le traitement.

    Si c'est juste un programme console, un "sleep(0)" dans la boucle laisse le temps à Windows de respirer car ça force un changement de tache.

    dernière chose, tu peux aussi jouer sur la priorité du thread principale.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 111
    Par défaut
    Je suis tentée par la solution ftp. Malheureusement, le transfert ne se fait pas. Certainement parce que les tables de Interbase sont toutes encapsulées dans un seul et même fichier alors qu'avec Db2 As400, j'accède à chaque table directement.
    Y aurait-il quelque chose qui me manque pour y parvenir?

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Clotilde Voir le message
    Je suis tentée par la solution ftp. Malheureusement, le transfert ne se fait pas. Certainement parce que les tables de Interbase sont toutes encapsulées dans un seul et même fichier alors qu'avec Db2 As400, j'accède à chaque table directement.
    Y aurait-il quelque chose qui me manque pour y parvenir?
    je ne vois pas très bien le rapport

    voici un exemple d'accès aux données AS/400 en FTP. J'ai des versions plus avancées au bureau (mais la je suis en vancances), qui évitent de passer par un fichier temporaire...en fait généralement je traite les données à la volée.

    1) ouverture de la session FTP
    2) lancement du download
    3) lecture des données ligne par ligne
    4) pour chaque ligne, récupérer les champs et les inclure dans une base de données via SQL
    5) boucler sur la lecture

    NB: j'utilise un transfert binaire car le mode ascii ne tient pas compte de la nature des champs, donc un PACKED est converti en ascii comme un CHAR ! Sinon il faut passer par QUERY/400 pour convertir tout en CHAR avant de faire le transfert...mais c'est un peu dommage.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/12/2010, 14h31
  2. La LIB pour résoudre ODBC ?
    Par dede92 dans le forum Windows
    Réponses: 3
    Dernier message: 20/12/2004, 14h23
  3. Batch pour copier des fichier
    Par borgfabr dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/03/2004, 07h55
  4. batch pour faire une sauvegarde
    Par bibiodp dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/08/2003, 13h09
  5. commande dos pour résoudre une adresse ip
    Par stephy dans le forum Développement
    Réponses: 2
    Dernier message: 17/12/2002, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo