Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaÁbel Vincze Megváltozta több, mint 10 éve
1
Oracle multimédia Kiss Attila Információs Rendszerek Tanszék kiss@inf.elte.hu
2
Multimédia objektumtípusok ORDAudio ORDDoc (kép, hang, videó) ORDImage ORDVideo DICOM (orvosi képek) Mindegyik objektumban további metainformációk mellett egy ORDSource objektum tartalmazza a bináris tartalmát a médiaadatnak.
3
Az Oracle multimédia architektúra
4
Funkciók Feltöltés Metainformációk kezelése Képfeldolgozás (transzformációk) Lekérdezések Exportálás
5
Feltöltés 2 lépés: objektum inicializálása, majd értékének módosítása UPDATE-tel. DECLARE img ORDImage; ctx RAW(64) := NULL; BEGIN -- Insert a new row into the pm.online_media table. DELETE FROM pm.online_media WHERE product_id = 3003; INSERT INTO pm.online_media (product_id, product_photo) VALUES (3003, ORDImage.init('FILE', 'MEDIA_DIR', 'laptop.jpg')) RETURNING product_photo INTO img; -- Bring the media into the database and populate the attributes. img.import(ctx); -- ORDImage.import also calls ORDImage.setProperties. -- Update the table with the properties we have extracted. UPDATE pm.online_media SET product_photo = img WHERE product_id = 3003;
6
Feltöltés ImportFrom-mal DECLARE obj ORDSYS.ORDImage; ctx RAW(64) :=NULL; BEGIN SELECT p.product_photo INTO obj FROM pm.online_media p WHERE p.product_id = 3501 FOR UPDATE; -- set source to a file -- import data obj.importFrom(ctx,'file','FILE_DIR','speaker.jpg'); -- check size DBMS_OUTPUT.PUT_LINE('Length is ' || obj.getContentLength()); DBMS_OUTPUT.PUT_LINE('Source is ' || obj.getSource()); UPDATE pm.online_media p SET p.product_photo = obj WHERE p.product_id = 3501; COMMIT; END;
7
Exportálás DECLARE img ORDImage; ctx RAW(64) := NULL; BEGIN SELECT product_photo INTO img FROM pm.online_media WHERE product_id = 3117; img.export(ctx, 'FILE', 'MEDIA_DIR', '3117.jpg'); END;
8
Lekérdezés SELECT t.product_id id, t.product_photo.getHeight() height, t.product_photo.getWidth() width, t.product_photo.getMimeType() mimetype FROM pm.online_media t;
9
Képfeldolgozás process(), processCopy() Például kicsinyítés készítése: DECLARE obj ORDSYS.ORDImage; BEGIN SELECT product_photo INTO obj FROM pm.online_media WHERE product_id = 3515 FOR UPDATE; obj.process('maxScale=32 32'); UPDATE pm.online_media p SET product_thumbnail = obj WHERE product_id = 3515; COMMIT; EXCEPTION WHEN ORDSYS.ORDImageExceptions.DATA_NOT_LOCAL THEN DBMS_OUTPUT.PUT_LINE('Data is not local'); END;
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.