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

AS/400 Discussion :

Query sur un spool file


Sujet :

AS/400

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut Query sur un spool file
    Bonjour,

    Est-il possible de faire un query sur un fichier spool avec une requête sql

    si oui auriez-vous un exemple simple d'écriture du query

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 93
    Points
    93
    Par défaut
    Les fichiers spools ne sont pas attaquables par SQL car ce ne sont pas des fichiers DB2.
    On peut toujours copier le spool dans un fichier DB2 avec la commande CPYSPLF et ensuite attaquer le fichier en le découpant ensuite en fonction des données présentes (si ces données sont structurées correctement dans le spool), mais il faut rester prudent quand à l'exploitation correcte des données (zones numériques, sauts de pages...).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Super merci pour ta réponse

    Donc il est possible de faire un select sur un fichier qui a des colonnes si oui comment écrire la select comment lui indiquer le chemin de mon fichier aurais-tu un ptit exemple simple à me montrer stp
    merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bonjour Iva30,

    Je viens d'essayer un query sur un fichier celui-ci à été généré par un spool et copié par CPYSPLF mais il y a un problème car il n'y a qu'une colonne dans mon fichier comment puis-je le découper en x colonnes comme tu me la indiqué dans ton dernier message dans l'état actuel il n'est pas utilisable en query.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Select SUBSTR(Spool, 1, 10) as NOM, SUBSTR(11, 20) as Prenom etc....

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Merci mais le select je le fait sur le spool ou sur le fichier copier par cpysplf

    Je te donne le détail du fichier résultant du cpysplf :

    Le nom du fichier :listeuser
    La librairie :mabib

    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
                                      Display Data                                  
                                                  Data width . . . . . . :     150  
     Position to line  . . . . .              Shift to column  . . . . . .          
     ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....
     LISTEUSER                                                                     
      5722SS1 V5R4M0 060210                  Work with Active Jobs                  
      Reset . . . . . . . . . . . . . . . . . :   *NO                               
      Subsystems  . . . . . . . . . . . . . . :   QINTER                            
      CPU Percent Limit . . . . . . . . . . . :   *NONE                             
      Response Time Limit . . . . . . . . . . :   *NONE                             
      Sequence  . . . . . . . . . . . . . . . :   *SBS                              
      Job name  . . . . . . . . . . . . . . . :   *ALL                              
      CPU %  . . . :     3.2          Elapsed time . . . . . . . :   00:15:33       
                                          Current                             ------
      Subsystem/Job  User        Number   User        Type Pool Pty     CPU   Int   
      QINTER         QSYS        519455   QSYS        SBS    2   0        .2        
        DSxxxxxxx1   DFDF        519558   DFDF        INT    4  20        .0    0   
        DSxxxxxxx2   POIF        519565   POIF        INT    4  20        .1   41   
        DSxxxxxxx3   SDSSD       519649   SDSSD       INT    4  20        .1    0   
        DSxxxxxxx4   FDFFG       519643   FDFFG       INT    4  20        .0    4   
        QPxxxxxxx5   GGGRT       519470   GGGRT       INT    4  20       6.4   39
    Je veux découper mon fichier de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Subsystem/Job | User  | Number  | Current User  | Type SBS | Pool | Pty | CPU | Int
    Les lignes suivantes doivent être supprimées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      5722SS1 V5R4M0 060210                  Work with Active Jobs                  
      Reset . . . . . . . . . . . . . . . . . :   *NO                               
      Subsystems  . . . . . . . . . . . . . . :   QINTER                            
      CPU Percent Limit . . . . . . . . . . . :   *NONE                             
      Response Time Limit . . . . . . . . . . :   *NONE                             
      Sequence  . . . . . . . . . . . . . . . :   *SBS                              
      Job name  . . . . . . . . . . . . . . . :   *ALL                              
      CPU %  . . . :     3.2          Elapsed time . . . . . . . :   00:15:33       
                                          Current                             ------
    Merci pour ton aide et bonne soirée.

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 149
    Points : 149
    Points
    149
    Par défaut eliminer des lignes dans une copie
    bonjour,

    tu peut lors de la copie du spool le faire a partir de la ligne x (f4 pour aide)

    cpyf file/bib file/bib (destination) indiquer a copie depuis numero enreg
    le nombre de ligne que tu veut supprimer.

    ainsi tu n'auras plus que les données

    a plus

    roger

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bonjour et merci,

    Je suis ok pour supprimer les données mais ça ne résous pas le faite que je dois découper mon fichier en colonne de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Subsystem/Job | User  | Number  | Current User  | Type SBS | Pool | Pty | CPU | Int
    Comment écrire le select avec ces paramètres comme indiqué dans le message de K2R400.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select SUBSTR(Spool, 1, 10) as NOM, SUBSTR(11, 20) as Prenom etc....
    Ou dois-je mettre le nom de mon fichier et la lib,pourrais-tu me donner un exemple d'écriture du select avec le nom de mon fichier ma lib et éventuellement le nom de ma colonne(il n'y en a qu'une LISTEUSER) et le nom de mes nouvelles colonnes etc....

    Merci beaucoup

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Ok j'y suis arrivé bouah la galère...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT substr(macolone, 1, 13) as UserJob, substr(newcolone, 14, 21) as User from mabib/monfic
    Par contre y a t-il une possibilité de mettre des blanc devant le nom des nouvelles colonnes pour me permettre de les cadrées exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT substr(macolone, 1, 13) as '   UserJob', substr(newcolone, 14, 21) as '   User' from mabib/monfic

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bon pour les blancs c'est ok il faut juste mettre le nom de la colone entre des doubles cotes " macolone"

    Comment puis-je créer un nouveau fichier à partir de ce select es-ce possible avec le cpyf ou bien faut-il passer par une requête sql create table

    comment faire?????

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Pour info j'ai réussi à le faire à partir d'un create table s'il y a une autre possibilité je suis preneur

    Merci

  12. #12
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 149
    Points : 149
    Points
    149
    Par défaut autre solution
    Bonjour,

    lorsque tu ouvre sql fait F13 option 1 tu obtiens une serie de paramètres qui te permettent de creer un fichier de sortie.

    et sur l'instruction select il faut ecrire dans le fichier de sortie par l'option insert into mabib /monfic

    attention ta session va conserver les parammètres, il faudra penser a les changer.!!!!!!

    a plus

    Roger

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Ouai nickel pour l'interactif mais comment faire la même chose en ligne de commande ou batch

  14. #14
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    comment faire la même chose en ligne de commande ou batch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Create table mabib/matable2 as (select * from mabib/matable1) with data

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bonjour,

    Merci Mercure je suis d'accord avec ta solution mais j'aimerai mettre en œuvre la solution de l'INSERT INTO proposé par Rcordonnier

    L'insert me renvoi le message suivant à chaque fois je ne vois pas l'erreur auriez-vous une idée merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO MaBib/NewFic SELECT SUBSTR(LISTEUSER,1,13) AS " UserJob  ",SUBSTR(LISTEUSER,14,21) AS "    User  " FROM MaBib/MonFic
    Ci-joint le messag d'erreur:
    NewFic in MaBib type *FILE not found.

    Bon j'ai fait une autre tentative mais j'ai un autre pb maintenant
    1/ J'ai créer mon fichier NewFic avant par la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CRTPF FILE(MaBib/NewFic) RCDLEN(8192) MAXMBRS(*NOMAX)
    J'ai relancé ma requête et la j'ai un autre message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Statement contains wrong number of values.
    Ouah je m'arrache les cheveux la galère HELP HELP!!!!!!!

  16. #16
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 149
    Points : 149
    Points
    149
    Par défaut aide sur sql
    bonjour

    je ne sais pas si je me suis correctement exprimé mais quand je dis
    mabib newfic il s'agit bien sur des noms fictifs il faut donner a ton programme
    les vrais noms de ta bibliothèque et de ton fichier.

    a plus

    roger

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Slt Roger,

    Si je pense avoir bien compris j'ai bien mis les bon noms mais patatraccccccccccccccccKKKKKK

    hier j'ai fait le même insert et pas de pb mais la ca ne passe plus j'ai certainement modifier quelque chose mais quoi je ne trouve pas ou ca cloche

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Roger,

    Lorsque je passe ma requête avec un seul substr la il n'y a pas de pb c'est lorsque je met les deux dans l'insert qu'il y a le pb y a t-il une protection qui manquerait du genre ( ou autre

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 116
    Points
    116
    Par défaut
    Tu as créés un fichier avec une seule zone , et tu essayes d'en insérer 2 par ton Insert Into !!!

    Ça fonctionne quand tu fais un seul Substr car tu ne charges qu'une seule zone.....

    Tiu dois donc (si tu veux prédéfinir ton fichier) le créer soit à partir d'une requête SQL (CREATE TABLE) soit à partir d'un source DDS, et définir dans les 2 cas , toutes les zones que tu vas alimenter par ton INSERT INTO

  20. #20
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 149
    Points : 149
    Points
    149
    Par défaut pb de qry et sql
    bonjour,

    je pense voir l'erreur, mabib et newfic sont des noms que je donne pour exemple il faut bien entendu indiquer les noms reels de ton exploitation.

    a plus

    roger

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22
  2. faire un Query sur un Query ?
    Par davestar dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2004, 12h30
  3. Question sur les batchs files (.bat)
    Par ptitbonum dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/04/2004, 23h02
  4. Pointer sur un fichier FILE *
    Par Biou Pink Powa dans le forum C
    Réponses: 3
    Dernier message: 29/01/2004, 14h45

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