[PL/SQL] create directory
Salut,
Afin d'inserer une image dans un champ blob d'une base de données j'ai utilisé le script suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
CREATE TABLE blobs ( id VARCHAR2(255), blob_col BLOB );
CREATE OR REPLACE DIRECTORY bdir AS 'c:\temp';
CREATE OR REPLACE PROCEDURE insert_img AS
f_lob bfile;
b_lob blob;
BEGIN
INSERT INTO blobs VALUES ( 'MyGif', empty_blob() )
RETURN blob_col INTO b_lob;
f_lob := bfilename( 'BDIR', 'mld.png' );
dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength(f_lob) );
dbms_lob.fileclose(f_lob);
END;
/ |
La version d'oracle que j'utilise est la 9i
Le probleme c'est que suite à la création du repertoire:
"CREATE OR REPLACE DIRECTORY bdir AS 'c:\temp'; "
aucun repertoire bdir n'apparait dans le c:\temp du serveur.
Sachant que je travaille directement sur le serveur en utilisant le sqlplus d'oracle, faut il créer le repertoire à la main et y ajouter l'image?
Merci de votre aide
Marwa
erreur:file or LOB operation FILEOPEN failed
quand j'execute la procedure j'ai l'erreur suivante:
Code:
1 2 3 4 5 6
|
ORA-22288: file or LOB operation FILEOPEN failed
The system cannot find the file specified.
ORA-06512: at "SYS.DBMS_LOB", line 504
ORA-06512: at "SYS.INSERT_IMG", line 8
ORA-06512: at line 2 |
Je ne comprends pas pourquoi il ne trouve pas le fichier.