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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| create directory logodir as 'd:\logodir';
grant read on directory logodir to public ;
-------------------------------
select * from all_directories;
------------------------------------
create table logosupport
(
idlogosupport number,
imagelogo blob,
nom varchar2(240)
);
-------------------------------
create or replace
procedure load_file (
pdname number,
psname varchar2,
pfname varchar2) is
src_file bfile;
dst_file blob;
lgh_file binary_integer;
begin
src_file := bfilename('LOGODIR', pfname);
insert into logosupport
(idlogosupport, imagelogo, nom)
values
(pdname, empty_blob(), pfname)
returning imagelogo into dst_file;
dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
lgh_file := dbms_lob.getlength(src_file);
dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
dbms_lob.fileclose(src_file);
end load_file;
/
---------------------------------------------------------------
execute load_file(1, 'd:/logodir/1.jpg', '1.jpg')
SQL> execute load_file(1, 'd:/logodir/1.jpg', '1.jpg');
Procédure PL/SQL terminée avec succès.
SQL> select * from logosupport;
SP2-0678: La colonne ou le type d'attribut ne peuvent être affichés par SQL*Plus
SQL> |
Partager