Bonjour,

Je cherche à extraire les données d'une table (base Oracle version 8 )dans un fichier spool (via un PL/SQL)

Mon fichier ressemble à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set heading off 
set feedback off  
set pagesize 0  
set linesize 5200  
set verify off
set newpage 0 
set space 0 
spool monfichierspool
SELECT  
1||
ltrim(to_char(champ1,'000000000000000'))||
nvl(ltrim(to_char(champ2,'000000000000000')),'               ')||      
[...] ||
 rpad(champ48,4000) 
FROM 
matable; 
spool off
Bien qu'ayant un champ de 4000 caractères (chaque ligne fait 5200 caractères) , si je limite mon extraction à 30 lignes je n'ai pas de problème, mon fichier spool contient bien toutes mes lignes.
Au delà de 30 lignes extraites (je n'ai pas fait le test pour savoir exactement à partir de combien ça plantait) , j'obtiens l'erreur oracle suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ORA-01489: result of string concatenation is too long
Quelle est la limite pour le résultat d'une requete oracle (si c'est bien de là que vient le problème) ?
Comment puis-je contourner ce problème ?

Merci