|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Bonjour,
j'ai un soucis avec la commande "cat" de QSH ... Elle affiche très bien certains fichiers DB2, et d'autres non. Après divers tests la piste s'orientait vers le CCSID du fichier, mais le problème vient du fichier lui-même : "cat" ne peut lire les fichiers à description externe (DDS) Débutant dans la maitrise de QSH, qui pourrait me dire quel utilitaire similaire à cat pourrait faire cela ? En espérant que ça existe ... Amicalement, James |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Je pense que ta demande est confuse.
Tu sais faire un "cat" pour visualiser le contenu d'un fichier stream de l'IFS. OK. Tu cherches à utiliser "cat" pour regarder le contenu d'une table DB2 ? Quel est ton but exactement ? |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Bonjour K2R400,
c'est bien ça, je cherche à faire un cat sur un fichier DB2 pour en voir le contenu depuis QSH. cat /qsys.lib/mylib.lib/myfile.file/mymbr.mbr Cela fonctionne bien pour les fichiers à CCSID 65535 non créés à partir de DDS. Mon but est de pouvoir en lire le contenu depuis QSH pour le rediriger via le pipe ( | ) vers le STDIN d'une commande de compression, afin d'obtenir un fichier compressé exploitable depuis un environnement Windows, QSH permettant une conversion EBCDIC / ASCII "à la volée" ... J'ai résolu cela en créant un fichier temporaire (CRTPF) qui donne les attributs adéquats à la lecture via la commande CAT. Je fais un CPYF NOCHK pour avoir les données du fichier original, et j'obtiens bien les données au format ASCII, compressées et lisibles depuis un serveur Windows. J'avais auparavent essayé touch -c xxx où xxx représente le CCSID du fichier IFS créé, mais la copie DB2 -> IFS est bien trop longue (cpytostmf, cpytoimpf, commande DB2, commande SQL, etc ...) et les fonctions de type SQL tronquent les 0 non significatifs présents dans mes fichiers DB2 ... Le plus rapide et fiable (au niveau données) que j'ai trouvé à ce jour reste le CPYF : on reste en DB2 / EBCDIC. Mais je reste ouvert à d'autres cheminements, si ils sont plus rapides / fiables / etc ... Notamment l'existence d'une commande "magique" qui permette de lire le contenu de fichiers créés à partir de DDS, depuis QSH :-) Cela m'éviterais le CRTPF et le CPYF, ce qui n'est pas négligeable en terme de temps et de nombre d'I/O, car forcément, les fichiers à zipper sont conséquents ... Amicalement, James |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
Pourquoi ne pas utiliser la commande CPYTOIMPF pour générer un fichier en ASCII et zipper alors le fichier résultant ?
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2008 Messages : 16 ![]() |
Bonjour m4k-Hurrican,
Sauf erreur, cpytostmf ne permet de transformer un fichier DB2 à description externe vers un fichier plat dans l'IFS ... J'obtiens l'erreur CPDA082 Amicalement, James |
|
|
00
|
|
|
#6 | ||||||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Tu peux utiliser DB2 pour lire une table ex :
Je recherche dans tous les membres sources du système la chaîne "FTP" Code :
Code :
Tu peux aussi utiliser rfile Code :
|
||||||
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
Citation:
Exemple : Citation:
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com