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

DB2 Discussion :

Unload DB2: gérer les colonnes à null


Sujet :

DB2

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut Unload DB2: gérer les colonnes à null
    Bonjour,

    Je souhaite décharger une table DB2 dans un fichier séquentiel. Le but étant ensuite d'exploiter le fichier dans une base Access (il est à comprendre que le fichier ne servira pas à recharger la table).
    Comment faire en sorte que les colonnes valorisées à null génèrent une zone remplie de spaces dans le fichier de sortie sachant que j'utilise DSNUTILB et la sysin suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UNLOAD TABLESPACE MONTABLESPACE     
    FROM TABLE MATABLE            
    DELIMITED COLDEL '#' DECPT ','
    D'avance merci.

  2. #2
    Membre chevronné Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 957
    Points : 2 072
    Points
    2 072
    Par défaut
    Dans l'unload, il va falloir definir toutes les colonnes de la tables

    tiré d'un exemple qui fonctionne chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UNLOAD DATA     
    DELIMITED COLDEL '#' DECPT ','
    FROM TABLE MATABLE
    (col1 
    ,col2 
    ,col3 varchar(20 strip(both)
    )
    je ne pense pas qu'il y ait plus simple.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Ok, ca a l'air de marcher...
    J'ai essayé avec le paramètre POSITION et ca fonctionne bien aussi...(j'ai trouvé cela dans la doc plutôt complète d'IBM).

    Question subsidiaire: j'ai un champs DB2 déclaré en Date, comment doit être déclaré le champs dans le UNLOAD. J'ai essayé pas mal de possibilités qui ne fonctionnent pas: DATE, CURRENT DATE (avec et sans "_"), TIME, CHAR...Une idée ou je dois créer un nouveau topic...

  4. #4
    Membre chevronné Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 957
    Points : 2 072
    Points
    2 072
    Par défaut
    dans la doc il y a
    Date-external(longueur)
    .
    as-tu essayé?

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 286
    Points
    3 286
    Par défaut
    Citation Envoyé par ted the Ors Voir le message
    ... Question subsidiaire: j'ai un champs DB2 déclaré en Date, comment doit être déclaré le champs dans le UNLOAD. J'ai essayé pas mal de possibilités qui ne fonctionnent pas: DATE, CURRENT DATE (avec et sans "_"), TIME, CHAR...Une idée ou je dois créer un nouveau topic...
    Mais pourquoi ces champs devraient-ils être déclarés d'une façon particulière ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par bernard59139 Voir le message
    dans la doc il y a.
    as-tu essayé?
    Je n'ai pas vu cela mais j'essaie dès demain...Merci!

    Citation Envoyé par Luc Orient Voir le message
    Mais pourquoi ces champs devraient-ils être déclarés d'une façon particulière ?
    Pas sûr de comprendre la question ...Dans mon cas, j'ai des champs DB2 alimentés à null, ces derniers ont tendance à rendre mon fichier inexploitable par la suite (je rappelle que je décharge des tables dans des fichiers afin d'exploiter ces derniers sous Access). En spécifiant la position et le type de chaque champs, je peux (théoriquement, si j'ai bien compris) les rendre exploitables.
    Après, si vous avez une méthode pour générer un genre de CSV à partir d'une table DB2, je suis preneur !

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 286
    Points
    3 286
    Par défaut
    Citation Envoyé par ted the Ors Voir le message
    ... Pas sûr de comprendre la question ...
    Je parle bien des champs "temporels" (TIME, DATE, TIMESTAMP). Avec un DSNTIAUL "basique" par exemple, ces champs sont décodés correctement à partir du format interne propre à DB2 ... Et puis n'oublie pas que tu es en format "DELIMITED" ... Mais bon, ça reste à vérifier bien sûr ...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par Luc Orient Voir le message
    Je parle bien des champs "temporels" (TIME, DATE, TIMESTAMP). Avec un DSNTIAUL "basique" par exemple, ces champs sont décodés correctement à partir du format interne propre à DB2 ... Et puis n'oublie pas que tu es en format "DELIMITED" ... Mais bon, ça reste à vérifier bien sûr ...
    J'avais fait des essais avec DSNTIAUL mais ça ne fonctionnait pas...Je me suis référé à la doc IBM et à ce que je trouvais sur Google qui referait plus à DSNUTILB....
    Je ferais des essais demain et vous tiendrait au courant...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par bernard59139 Voir le message
    dans la doc il y a.
    as-tu essayé?
    Ca ne fonctionne pas..."INVALID KEYWORD"...

  10. #10
    Membre chevronné Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 957
    Points : 2 072
    Points
    2 072
    Par défaut
    Après un petit test, DATE EXTERNAL n'est pas utile avec un UNLOAD DELIMITED... Les colonnes sont bien écrites en "DATE EXTERNAL".

    Quel problème as-tu?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gérer les colonnes avec fprintf
    Par Mac52 dans le forum MATLAB
    Réponses: 4
    Dernier message: 16/09/2013, 18h09
  2. Réponses: 3
    Dernier message: 08/10/2010, 11h49
  3. ADO et les colonnes NULL
    Par qi130 dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/01/2008, 14h36
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. Réponses: 1
    Dernier message: 29/08/2004, 19h45

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