Probleme gestion variable LONG
Bonjour
j'ai un soucis avec la taille d'une variable de type LONG
Procedure
Code:
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 dans forms j'ai
Code:
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; |
Et dès que ca depasse ~32800 caractères j'ai l'erreur
Citation:
-6502;ORA-06502: PL/SQL: numeric or value error
Mon fichier ne fait que 19Ko bien loin des 2Go possible pour le LONG non ??
Merci d'avance