je n'arrive pas a afficher une image bmp stocker ma table, sachant que ma colonne dans ma table 'etudiants' est de type blob et j'utilise forms 9i et ma procedure :
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
 
PROCEDURE add_blob(p_id NUMBER, p_name VARCHAR2) IS
    v_blob  BLOB;
    v_bfile BFILE;
  BEGIN
    INSERT INTO etudiants(matricule,photo)
    VALUES
      (p_id, empty_blob())
      returning photo into v_blob;
      commit;
      v_bfile := bfilename('image','visage.bmp');
     dbms_lob.fileopen(v_bfile);
     dbms_lob.loadfromfile(v_blob, v_bfile, dbms_lob.getlength(v_bfile));
     dbms_lob.fileclose(v_bfile);
  END;
bon lors de l'enregistrement il m'affiche le message suivants:
ORA-22285 non-existent directory or file for string operation
malgré que j'ai créée mon repertoire comme ceci avec Sql + :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
CREATE directory image AS 'c:\images\';
GRANT READ ON directory image TO users;
et pour afficher l'image j'ai utilisé la procédure suivante :
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
 
procedure Affiche_Infos_Fichier(PN$Id IN etudiants.matricule%TYPE,p_name VARCHAR2) IS
    v_blob    blob;
    l_amt    number default 30;
    l_off   number default 1;
    l_raw   raw(4096);
  Begin
     Select photo
     Into   v_blob
     From   etudiants
     Where  trim(matricule) = trim(PN$Id);
 
     owa_util.mime_header( 'image/bmp' );
     begin
           loop
              dbms_lob.read( v_blob, l_amt, l_off, l_raw );
              htp.prn( utl_raw.cast_to_varchar2( l_raw ) );
              l_off := l_off+l_amt;
              l_amt := 4096;
           end loop;
        exception
           when no_data_found then 
              NULL;
    end;
end;
[Modération : titre repris par LeoAnderson]
[Modération, Orafrance : Pensez à mentionner le langage dans le titre]