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

Sql*Plus Oracle Discussion :

SELECT sur type CLOB --> retour chariot après 80 caractères


Sujet :

Sql*Plus Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut SELECT sur type CLOB --> retour chariot après 80 caractères
    Bonjour,

    je suis en train d'écrire un script Shell Unix. Dans ce script, j'ai besoin d'exécuter une requête SQL et d'insérer le résultat dans un fichier.

    Pour ce faire, j'utilise le script suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus $USER_ORA/$MDP_ORA@$DB_ORA @ictmedrej_query.sql
    Fichier ictmedrej_query.sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    set heading off;
    set feed off;
    set long 30000;
    SET trimspool ON;
    set linesize 60000;
    set pagesize 999;
    spool resultat.txt;
    SELECT XDRREJ FROM ICTMEDREJ WHERE FLG=1;
    spool off;
     
    exit;
    Le résultat retourné est un seul enregistrement de type CLOB.

    Voici le résultat retourné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite;CONS
    TRUCTED;
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quan
    tite[0];CONSTRUCTED;
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quan
    tite[0].nature;STRING;DU
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quan
    tite[0].unite;STRING;S
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quan
    tite[0].valeur;STRING;87
    et voici que je souhaite réellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite;CONSTRUCTED;
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quantite[0];CONSTRUCTED;
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quantite[0].nature;STRING;DU
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quantite[0].unite;STRING;S
    InternalMU.fournisseur.Fournisseur[0].elementUsage.ElementUsage[0].quantite.Quantite[0].valeur;STRING;87

    J'ai beau essayé plein de paramètres différents (linesize, pagesize, ...), rien y fait, toutes les lignes de mon enregistrements sont coupées après 80 caractères et continuent la ligne suivante.

    Existe-t-il une solution permettant d'éviter ce problème ?

    Merci d'avance

    Dany

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    Positionne long a plus grand 1000000

  3. #3
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Ca ne change rien. (j'ai même essayé encore plus grand...)

  4. #4
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    il faut positionner l'option longchuncksize...

    donc si tu veux que les 1000 premiers caractères du clob ne soient pas tronqué et que sqlplus ne rajoute pas au sein de ces 1000 premiers caractères un retour charoit il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set linesize 1000
    set long 1000
    set longchuncksize 1000
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Arrrf, j'y ai cru car en regardant de plus près sur Internet, cette commande a bien l'air d'agir sur mon problème. Mais au final, ça ne fonctionne pas. Le fichier ne change absolument pas de forme

    PS : il semble que le nom de la commande soit bien "longchunksize" et non "longchuncksize"

  6. #6
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    on peut même plus faire de faute de frappe ??

    En tout ca sur ma machine, ca fonctionne (ecran et spool...)
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Il faudra positionner aussi linesize 1000 par exemple.

    Rachid

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

Discussions similaires

  1. empêcher le retour chariot après <ul>
    Par kkali dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 10/04/2009, 19h47
  2. [DOM] Problème de retour chariot après les noeuds
    Par Phenomenium dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/03/2008, 13h58
  3. Réponses: 1
    Dernier message: 22/02/2008, 13h22
  4. requete select sur type
    Par bb5477 dans le forum SQL
    Réponses: 15
    Dernier message: 21/12/2007, 17h29
  5. Tableau : retour chariot après chaque valeur
    Par kafifi dans le forum Langage
    Réponses: 3
    Dernier message: 13/07/2006, 17h54

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