Hi Denise!
Nein, die Bilder sollten nicht extern gespeichert werden. Über die Performance mache ich mir auch weniger Sorgen, da es sehr "kleine" Bilder sind. Aber habe es jetzt hinbekommen die Bilder in der Datenbank zu speichern:
---- Anlegen der Tabelle Pictures
create table pictures
(
id number,
image ordsys.ordimage
);
---- Directory anlegen
create or replace directory imgdir as 'c:\test\';
---- Sequence anlegen
create sequence imageseq start with 1;
---- Bild in DB speichern
create or replace procedure load_image_ipix(file_name varchar)
AS
obj ORDSYS.ORDImage;
nxtSeq number;
ctx raw(4000):=null;
BEGIN
select imageseq.nextval into nxtseq from dual;
insert into pictures (id, image) values (nxtseq,
ORDSYS.ORDImage (ORDSYS.ORDSOURCE(EMPTY_BLOB(),
NULL,NULL,NULL,SYSDATE,NULL),
NULL,NULL,NULL,NULL,NULL,NULL,NULL));
select t.image into obj from pictures t
where t.id = nxtseq for update;
obj.setProperties('height=320 width=240 mimeType=application/x-ipix');
obj.importFrom(ctx,'FILE','IMGDIR','bild.jpg');
update pictures t set t.image=obj
where t.id = nxtseq;
commit;
END;
/
Na gut, das hat geklappt. Aber wie kann ich das Bild mit Hilfe von PL/SQL im Browser ausgeben?
Habe dazu auch schon das komplette Forum durchsucht, doch leider nichts gefunden. :-(