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

Informix Discussion :

traitement des fichiers


Sujet :

Informix

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Points : 6
    Points
    6
    Par défaut traitement des fichiers
    Bonjour,

    en 4gl, je fais un load de plusieurs fichiers texte dans une table, ca fonctionne trés bien au niveau du load.

    par contre si un des 3 fichiers n'est pas présent (et ca peut arrivé), j'ai le droit à un beau message d'erreur. La question est donc :

    comment vérifier l'existence d'un fichier en 4gl ???

    merci d'avance pour vos reponses.

    Stan.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    salut,

    il y a quelque temps, j'avais le meme probleme et j'avais du jouer à macGyver pour résoudre ca.

    en 4gl ca fait ceci du coup :
    # on fait la verif avec une commande unix et on met la reponse dans un fichier
    RUN "[ -f ton_fichier.txt ]; echo $? > le_fileexist"

    si c'est 0 le fichier existe, si c'est 1 il existe pas
    on créé une table temporaire et on fait un load du fichier le_fileexist dedans
    il ne reste plus qu'a récupérer la réponse en 4gl avec un simple select

    bon j'avais prévenu, c'est vraiment du macGyver mais ca marche et je n'ai pas trouvé d'autre solution
    si quelqu'un en a une autre de solution je suis preneur également

    j'espére que ca te conviendra
    @+

  3. #3
    Invité
    Invité(e)
    Par défaut Load en batch
    Bonjour,

    Je ne pratique pas I4GL mais en ISQL, je serais passé par un shell et comme tucsoufle propose de toute façon d'y avoir recours, je propose le shell suivant à adapter en I4GL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    # import
     
    #           Paramètres
    # LOGNAME = Logname
     
    clear
     
    echo "+IMPORT-----------------------------------------------------------------+"
    echo "|                                                                       |"
    echo "|Importation nom_fichier_1.txt, nom_fichier_2.txt et nom_fichier_3.txt  |"
    echo "|dans la table table_x                                                  |"
    echo "|-----------------------------------------------------------------------|"
    echo "|TRAITEMENT :   [Retour]=OK, [Del/Suppr]=Abandon                        |"
    echo "+-----------------------------------------------------------------------+"
    echo ""
     
    cd ../shell
     
    if test -f ${LOGNAME}.out
       then rm ${LOGNAME}.out
    fi
     
    SMSO=`tput smso`
    RMSO=`tput rmso`
     
    # TRAITEMENT
      tput cup 5 14
      echo $SMSO" "$RMSO
      tput cup 5 14
      read REPONSE
      tput cup 5 14
      echo " "
     
    tput cup 7 0
    echo " Traitement en cours... \c"
     
    if test -f  nom_fichier_1.txt
       then cat nom_fichier_1.txt >> ${LOGNAME}.out
    fi
     
    if test –f  nom_fichier_2.txt
       then cat nom_fichier_2.txt >> ${LOGNAME}.out
    fi
     
    if test -f  nom_fichier_3.txt
       then cat nom_fichier_3.txt >> ${LOGNAME}.out
    fi
     
     
    cp ../sql/import.sed ${LOGNAME}.sql
     
    ed - "${LOGNAME}.sql" << !
    ,s/LOGNAME/$LOGNAME/g
    w
    q
    !
     
    if test -f ${LOGNAME}.out
    then if [ "$DBLANG" = "" ]
         then isql -s MaBase -qcre ${LOGNAME} > /dev/null
         else isql -s MaBase -lceq ${LOGNAME} > /dev/null
         fi
    fi
     
    echo " TERMINE !"
     
    # {
    # import.sed
    # }
    #
    # load from LOGNAME.out insert into table_x;
    Ca évite quand même d'avoir à créer une table temporaire.

    Quant-à moi, même si c'est modeste et sous Word, ça fait du bien de retaper du shell.

    Un retraité qui s'enquiquine...
    Dernière modification par Invité ; 30/01/2008 à 23h38.

Discussions similaires

  1. Fonction récursive pour traitement des fichiers
    Par Montor dans le forum Contribuez
    Réponses: 6
    Dernier message: 29/09/2008, 08h45
  2. Traitement des fichiers textes
    Par Julien Dufour dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/08/2008, 16h50
  3. Traitement des fichiers
    Par ouadie99 dans le forum C#
    Réponses: 5
    Dernier message: 17/04/2008, 16h49
  4. DEV-C++ et le traitement des fichiers EXCEL
    Par titos09 dans le forum Dev-C++
    Réponses: 0
    Dernier message: 22/10/2007, 18h11
  5. Réponses: 1
    Dernier message: 24/07/2005, 23h25

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