bonjour,
j'ai un problème avec ma procédure qui me permet de stocker le type blob
mais il m'affiche une erreur

je tiens a votre information que oracle est installé sur une machine unix et je l'attaque à partir d'une machine Windows


voilà comment j'ai crée mon répertoire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CONNECT / AS SYSDBA
CREATE OR REPLACE DIRECTORY mydir AS '/tmp';
GRANT read, write ON DIRECTORY mydir TO mon_user;

ORA-22285: répertoire ou fichier inexistant pour l'opération FILEOPEN
ORA-06512: à "SYS.DBMS_LOB", ligne 523
ORA-06512: à "UFO4_DBO.SQL_BLOB", ligne 19
ORA-06512: à "UFO4_DBO.PA_JEU", ligne 57
ORA-06512: à ligne 1
voila le code de ma procédure
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
 
  PROCEDURE add_blob(v_NOMJEU VARCHAR2) IS
    v_blob  BLOB;
    v_bfile BFILE;
  BEGIN
    -- SET SERVEROUTPUT ON;
    -- On insére la ligne avec un blob vide dont on récupère le pointeur
    INSERT INTO t_blob
    VALUES
      (v_NOMJEU, empty_blob())
    RETURNING image INTO v_blob;
    -- On déclare un pointeur vers notre fichier
    v_bfile := bfilename(directory => 'mydir', filename => v_NOMJEU|| '.jpg');
    -- On ouvre ce fichier
 
    -- DBMS_OUTPUT.PUT_LINE('v_bfile = ' || v_bfile);
   -- v_bfile := '/home/oracle/test/pacman.jpg';
    dbms_lob.fileopen(v_bfile);
 
    -- On rempli l'emplacement du BLOB vide dans la table avec le contenu de notre fichier
    dbms_lob.loadfromfile(v_blob, v_bfile, dbms_lob.getlength(v_bfile));
    -- On ferme le fichier
    dbms_lob.fileclose(v_bfile);
  END;

je vous remercie d'avance de votre aide ...