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.
J'ouvre le fichier via IE ou firefox avec une application Oracle Express.
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 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;
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
Partager