Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 16h25   #1
Membre du Club
 
Inscription : juillet 2006
Messages : 153
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 153
Points : 40
Points : 40
Envoyer un message via MSN à ted the Ors
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 :
1
2
3
4
 
UNLOAD TABLESPACE MONTABLESPACE     
FROM TABLE MATABLE            
DELIMITED COLDEL '#' DECPT ','
D'avance merci.
ted the Ors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 17h38   #2
Membre chevronné
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 503
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : octobre 2006
Messages : 503
Points : 688
Points : 688
Dans l'unload, il va falloir definir toutes les colonnes de la tables

tiré d'un exemple qui fonctionne chez moi:
Code :
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.
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 18h21   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 153
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 153
Points : 40
Points : 40
Envoyer un message via MSN à ted the Ors
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...
ted the Ors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h16   #4
Membre chevronné
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 503
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : octobre 2006
Messages : 503
Points : 688
Points : 688
dans la doc il y a
Citation:
Date-external(longueur)
.
as-tu essayé?
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h16   #5
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
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 ?
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h25   #6
Membre du Club
 
Inscription : juillet 2006
Messages : 153
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 153
Points : 40
Points : 40
Envoyer un message via MSN à ted the Ors
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 !
ted the Ors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h34   #7
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
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 ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 20h52   #8
Membre du Club
 
Inscription : juillet 2006
Messages : 153
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 153
Points : 40
Points : 40
Envoyer un message via MSN à ted the Ors
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...
ted the Ors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 09h05   #9
Membre du Club
 
Inscription : juillet 2006
Messages : 153
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 153
Points : 40
Points : 40
Envoyer un message via MSN à ted the Ors
Citation:
Envoyé par bernard59139 Voir le message
dans la doc il y a.
as-tu essayé?
Ca ne fonctionne pas..."INVALID KEYWORD"...
ted the Ors est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 09h51   #10
Membre chevronné
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 503
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : octobre 2006
Messages : 503
Points : 688
Points : 688
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?
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h26.


 
 
 
 
Partenaires

Hébergement Web