ApEx - Utilisation d'un BFILE
Bonjour,
J'utilise une fonction PL/SQL qui permet de récupérer un fichier (excel en l'occurence) situé en local sur le serveur, via un BFILE.
Code:
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
|
create or replace PROCEDURE display_bfile(p_id NUMBER) IS
v_amt NUMBER DEFAULT 32767;
v_off NUMBER DEFAULT 1;
v_raw RAW(32767);
v_bfile BFILE;
BEGIN
-- On récupère le pointeur vers le fichier
SELECT filename INTO v_bfile FROM t_bfile WHERE id = p_id;
-- On ouvre le fichier
dbms_lob.fileopen(v_bfile);
-- On défini de manière arbitraire un mime/type
owa_util.mime_header('application/vnd.ms-excel');
-- On affiche le contenu de notre fichier
BEGIN
LOOP
dbms_lob.READ(v_bfile, v_amt, v_off, v_raw);
htp.print(utl_raw.cast_to_varchar2(v_raw));
v_off := v_off + v_amt;
v_amt := 400;
END LOOP;
EXCEPTION
WHEN no_data_found THEN
NULL;
END;
-- On ferme notre fichier
dbms_lob.fileclose(v_bfile);
END; |
J'ouvre le fichier via IE ou firefox avec une application Oracle Express.
Mon problème est le suivant:
Cela marche sans problème pour les fichier de moins de 3 Mo ... Par contre au dela, soit le fichier ne s'ouvre pas du tout, soit il est tronqué.
Est ce qu'il existe une limitation à ces fonctions? Et-il possible d'augmenter cette limitation?
Merci d'avance
AkA