Bonjour,
Je cherche a stocker une page HTML (rapport ASH) dans une colonne CLOB pour ensuite l'afficher dans un pop up dans APEX.
Pour ce faire, j'ai cree une table temporaire dans laquelle j'insere le rapport :
Ensuite, je tente de generer mon CLOB a partir de ma table de varchar2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE GLOBAL TEMPORARY TABLE gtt_report (OUTPUT VARCHAR2(4000)) ON COMMIT PRESERVE ROWS; INSERT INTO gtt_report SELECT * FROM TABLE(dbms_workload_repository.ash_report_html(1485633966, 1, SYSDATE-30/1440, SYSDATE-1/1440));
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE TABLE test_clob (c_clob CLOB);Cette methode fonctionne si je ne depasse pas le cache de 4000 caracteres. Apres j'obtiens cette erreur :
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
18
19
20
21
22
23
24
25
26
27
28 DECLARE l_clob CLOB; CURSOR output IS SELECT output FROM gtt_report; BEGIN dbms_lob.createtemporary(l_clob, TRUE); dbms_lob.open(l_clob, dbms_lob.lob_readwrite); FOR OUTPUT_rec in output LOOP DBMS_LOB.writeappend(l_clob,LENGTH(OUTPUT_rec.OUTPUT),OUTPUT_rec.OUTPUT); END LOOP; dbms_lob.close(l_clob); INSERT INTO test_clob (c_clob) VALUES (l_clob); COMMIT; dbms_lob.freetemporary(l_clob); END;
Je n'arrive pas bypasser cette limitation. Sauriez vous comment faire ?ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.DBMS_LOB", line 1146
ORA-06512: at line 27
(Si vous avez une methode plus simple pour stocker mon rapport ASH dans une table, je suis egallement preneur)
Partager