Bonjour
j'ai un soucis avec la taille d'une variable de type LONG
Procedure
et dans forms j'ai
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 PROCEDURE GENERATION_FICHIER_LOG(p_fichier IN OUT LONG) IS TYPE TAB_MESSAGE IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER; l_tab_message_text TAB_MESSAGE; BEGIN SELECT MESSAGE BULK COLLECT INTO l_tab_message_text FROM LOG_PROG ORDER BY ORDRE; IF l_tab_message_text.COUNT>0 THEN FOR iCnt IN l_tab_message_text.FIRST..l_tab_message_text.LAST LOOP p_fichier:=p_fichier||chr(10)||l_tab_message_text(iCnt); END LOOP; END IF; END;
Et dès que ca depasse ~32800 caractères j'ai l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 DECLARE p_long long; p_fichier TEXT_IO.FILE_TYPE; BEGIN GENERATION_FICHIER_LOG(p_long); p_fichier:=TEXT_IO.FOPEN('c:\temp\test.txt','W'); TEXT_IO.PUT_LINE(p_fichier,p_long); TEXT_IO.FCLOSE(p_fichier); MESSAGE('GENERATION TERMINE'); END;
Mon fichier ne fait que 19Ko bien loin des 2Go possible pour le LONG non ??-6502;ORA-06502: PL/SQL: numeric or value error
Merci d'avance
Partager