Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 16/05/2011, 10h51   #1
Invité de passage
 
Homme yassine benfdil
Ingénieur intégration
Inscription : mars 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme yassine benfdil
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur intégration
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 7
Points : 3
Points : 3
Par défaut Découper CLOB pour utiliser CLIENT_TEXT_IO.PUT

Bonjour,

J'ai un problème qui me dérange, j'écris du XML dans un champ CLOB dans Oracle et j'aimerais écrire le résultat dans un fichier au poste client avec FORMS ( CLIENT_TEXT_IO.PUT)
Mais apparemment, dans forms, quand je dépasse une longueur déterminé de caractères je reçois une erreur :

Citation:
FRM-40735: Le déclencheur WHEN-BUTTON-PRESSED a détecté une exception ORA-06502 non traitée
Et donc je suis en train de pensé à découper le résultat CLOB et l'injecter avec le PUT .

Suis je sur la bonne voie ??

Cordialement,
bigmyc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 16h15   #2
Invité de passage
 
Homme yassine benfdil
Ingénieur intégration
Inscription : mars 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme yassine benfdil
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur intégration
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 7
Points : 3
Points : 3
Je m'auto réponds en vue de donner une piste aux personnes qui ont le meme probleme

en effet j'ai utilisé la fonction substring sur le CLOB :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
while( length(LC$Line)!=0) 
loop
     IF (length(LC$Line)>32000) then
         LC$Temp:=substr(LC$Line,1,32000);
         CLIENT_TEXT_IO.PUT( LF$File, LC$Temp ) ;
         LC$Line:=substr(LC$Line,32001);
 
     elsif (length(LC$Line)<32000) then
         CLIENT_TEXT_IO.PUT( LF$File, LC$Line ) ;
         LC$Line:='';
     end IF;
end loop;
bigmyc 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 11h59.


 
 
 
 
Partenaires

Hébergement Web