Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Sql*Plus
Sql*Plus Forum d'entraide sur Oracle Sql*Plus
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 22/06/2006, 11h59   #1
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Par défaut [Unix] Pb avec le spool de Sqlplus

Bonjour à tous,

Je suis sous Oracle 9i sur un serveur Solaris 5.8.

Je rencontre un petit problème avec les espaces (caractère 'blank') lorsque je veux rediriger les sorties d'un SELECT effectué sous sqlplus...
Je dois créer des fichiers dont chaque champ a une longueur définie mais pas de séparateurs or je n'arrive pas toujours à obtenir la bonne longueur.
J'ai l'impression qu'il 'TRIM' automatiquement le résultat...
Quelqu'un sait il s'il existe un réglage pour cela?

Pour l'instant on résoud le problème avec un RPAD (on met des = à la place des blancs). Mais il y a des cas où cela ne marche pas non plus...

En passant si quelqu'un a un lien vers une page qui détaille toutes les options de sortie de Sqlplus je suis preneur...
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 12h51   #2
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
je ne veux pas de tabulation, je fais donc :
je veux des espaces à la fin des lignes:
je veux une longueur de ligne de 100
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 12h58   #3
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par dyvim
En passant si quelqu'un a un lien vers une page qui détaille toutes les options de sortie de Sqlplus je suis preneur...
Toutes non, les principales oui :
http://www.developpez.net/forums/sho...39&postcount=4

Je ne comprends pas trop ton problème :
Code :
1
2
3
4
5
6
SQL> DESC tab_dvp
Name                            NULL?    Type
------------------------------- -------- ----
A                                        VARCHAR2(30)
B                                        VARCHAR2(3)
C                                        VARCHAR2(4)
Et voici le résultat de mon fichier spool :
Code :
1
2
a                             b  c
124567890                     15 9999
Si tu comptes les espaces, tu verras qu'il y a bien le bon nombre par rapport à la taille de colonne.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 17h01   #4
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Merci à tous les deux...

Je pense que mon problème vient du trimspool...

Est ce que quelqu'un peut me confirmer que par défaut il est à ON?

Pour montrer le problème voici mon sqlplus:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sqlplus -s $CONNECTION_STRING << EOF > $TMP_FILE
    SET heading off
    SET lin 3000
    SET newpage 0
    SET pagesize 0
    SET feedback off
    SET feed off
    SET FLUSH off
    SET echo off
    SET COLSEP "~"
 
    SELECT rpad(prp_ncc_to_ald(external_id,NULL),3,' ')
    FROM customer_id_acct_map
    WHERE external_id IN $NCC
    minus
    SELECT rpad(prp_ncc_to_ald(ncc,NULL),3,' ')
    FROM VW_CUSTOMERS_WITH_TYPEB_CNX;
 
EOF
Mon problème est que la colonne générée (l'ALD) doit être sur 3 caractères mais que l'ALD en question peut n'en comporter que deux...
(remarque dans ma table, il peut avoir 5 caractères )

En tout cas visiblement je ne gère pas le trimspool pour l'instant...
__________________
Dyvim
dyvim 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 04h25.


 
 
 
 
Partenaires

Hébergement Web