Sunteți pe pagina 1din 3

Baze de date multimedia

~ Partea a 3-a ~
Afișarea metadatelor - Exemplu
Afișarea metadatelor imaginii stocată în tiplul cu id=2:
set serveroutput on;
declare
flux ORDSYS.ORDImage;
begin
select img into flux from imags where id=2;
dbms_output.put_line('inaltime imagine: ' || flux.getHeight());
dbms_output.put_line('latime imagine: ' || flux.getWidth());
dbms_output.put_line('format fisier: ' || flux.getFileFormat());
dbms_output.put_line('formatul imaginii:' || flux.GETCONTENTFORMAT());
dbms_output.put_line('formatul compresiei:'
||flux.GETCOMPRESSIONFORMAT());
dbms_output.put_line('sursa datelor: ' || flux.getSource());
dbms_output.put_line('tipul sursei: ' || flux.getSourceType());
dbms_output.put_line('lungime BLOB: ' || TO_CHAR(flux.getContentLength()));
end;
Importul imaginilor preluate de pe un
site Web
• Pentru importul și stocarea în baza de date a resurselor multimedia (aici exemplificarea se face
cu o resursă de tip imagine, dar pentru resurse de tip video și audio se lucrează similar) se poate
folosi ca sursă de date o adresă Web (folosind protocolul HTTP- HyperText Transfer Protocol).
• Încărcarea resurselor multimedia dintr-o sursă HTTP este similară cu încărcarea dintr-un fișier
aflat pe disc, ceea ce diferă este doar modul în care se specifică locația datelor.
• În cazul în care conectarea la rețeaua Internet se face folosind un server proxy, trebuie folosit
pachetul utl_http care permite specificarea acestuia, a numărului portului utilizat de serverul
proxy și a serverelor care pot fi accesate fără a accesa serverul proxy.
• In exemplul următor serverul proxy utilizat este cache.ase.ro, portul asociat acestuia este 8080
iar serverele din domeniul ase.ro (*.ase.ro) pot fi accesate fără a utilizat serveul proxy.
• Pașii:
1. Se inserează un tuplu în tabela bazei de date:
insert into imags values (5, 'imagine de pe site', ORDSYS.ORDImage.init(),
ORDSYS.ORDImageSignature.init());
2. Se realizează importul. In acest exemplu vom importa imaginea stocată în fișierul sigla1.gif aflat la adresa
http://img.ejobs.ro/img/.
declare
obj ORDSYS.ORDImage;
ctx RAW(64):=NULL;
begin
utl_http.set_proxy('cache.ase.ro:8080','*.ase.ro');
select img into obj from imags where id=5 for update;
obj.importFrom(ctx, 'http', 'http://img.ejobs.ro/img/', 'sigla1.gif');
update imags set img=obj where id=5;
end;

S-ar putea să vă placă și