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 Oracle Discussion :

Ecrire un CLOB dans un fichier sans fin de ligne


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Points : 44
    Points
    44
    Par défaut Ecrire un CLOB dans un fichier sans fin de ligne
    Bonjour,

    j'effectue une requête que je cast en XMLElement et que je conserve sous forme d'un CLOB.
    Je dois ensuite générer un fichier XML avec ce CLOB mais toutes les méthodes d'écriture de CLOB dans un fichier me rajoutent un caractère de fin de ligne (et donc faussent mes balises) ou alors ne fonctionnent pas.
    Pour info, je suis en Oracle 10g.
    Y a t'il une méthode d'écriture d'un CLOB en bloc dans un fichier sans rajouter de caractère de fin de ligne ou alors ai-je un moyen de rechercher dans le CLOB (en castant en varchar2 peut être) mes fins de balises pour adapter l'écriture dans le fichier ??

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 104
    Points : 40
    Points
    40
    Par défaut
    voir ce bout de code, peut être il répondra à ton besoin
    sous oracle 9i j'ai le problème de taille et je ne sais pas pour oracle10g
    essayer quand même :

    La fonction qui tu cherche est Utl_File.Put:

    XmlData:= rec.results.getclobval;

    WHILE FIN LOOP
    Utl_File.Put(XmlFic, SUBSTR (XmlData, 1, 32767));
    IF LENGTH (XmlData) > 32767 THEN
    XmlData := SUBSTR (XmlData, 32768);
    ELSE
    FIN := FALSE;
    END IF;

    END LOOP;
    Citation Envoyé par tedparker
    Bonjour,

    j'effectue une requête que je cast en XMLElement et que je conserve sous forme d'un CLOB.
    Je dois ensuite générer un fichier XML avec ce CLOB mais toutes les méthodes d'écriture de CLOB dans un fichier me rajoutent un caractère de fin de ligne (et donc faussent mes balises) ou alors ne fonctionnent pas.
    Pour info, je suis en Oracle 10g.
    Y a t'il une méthode d'écriture d'un CLOB en bloc dans un fichier sans rajouter de caractère de fin de ligne ou alors ai-je un moyen de rechercher dans le CLOB (en castant en varchar2 peut être) mes fins de balises pour adapter l'écriture dans le fichier ??

    Merci d'avance

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Points : 44
    Points
    44
    Par défaut
    Nan merci mais ça marche pas cette méthode. C'est une des premières méthodes que j'ai utilisé et là aussi on risque de coller un retour-chariot en plein milieu d'une balise.
    Finalement,jmen suis sorti en repérant les "<\" et le ">" qui suit pour coller le retour chariot juste après mais ca ralentit énormément le processus (normal je sais!!).
    Si quelqu'un a une autre solution moins couteuse en ressources, je suis preneur.

    Merci d'avance

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 104
    Points : 40
    Points
    40
    Par défaut
    tu peux m'envoyer le bout de code repérage de "<\" et le ">" peut être je pourrai t'aider

    Citation Envoyé par tedparker
    Nan merci mais ça marche pas cette méthode. C'est une des premières méthodes que j'ai utilisé et là aussi on risque de coller un retour-chariot en plein milieu d'une balise.
    Finalement,jmen suis sorti en repérant les "<\" et le ">" qui suit pour coller le retour chariot juste après mais ca ralentit énormément le processus (normal je sais!!).
    Si quelqu'un a une autre solution moins couteuse en ressources, je suis preneur.

    Merci d'avance

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/07/2013, 13h16
  2. Recherche des pattern dans un fichier sans saut de ligne
    Par erox44 dans le forum Shell et commandes POSIX
    Réponses: 5
    Dernier message: 28/01/2013, 21h58
  3. Réponses: 3
    Dernier message: 04/11/2009, 14h48
  4. Réponses: 2
    Dernier message: 05/04/2007, 09h39
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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