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;
voila le code de ma procédureORA-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
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 ...
Partager