แต่ Oracle interMedia ไม่ได้ทำการควบคุม media capture หรือ output ของ device เนื่องจากส้วนนี้เป็นหน้าที่ของ application software
โดย Oracle interMedia ทำการบริหารจัดการกับ multimedia โดยรองรับสิ่งต่างๆเหล่านี้
- การจัดเก็บและการกู้คืน
- การบริหารจัดการกับ metadata ของ media และ application
- สามารถที่จะรองรับได้หลาย format
- สามารถ access ผ่านแบบปกติ และได้กับ web interface
- ทำการ query ด้วยการใช้ความสัมพันธ์ของข้อมูล
- ทำการ query ด้วย extracted metadata
- ทำการ query ด้วยการใช้ media content ที่มี optional specialized indexing
ตัวอย่างการใช้งาน Oracle interMedia
1. ทำการ connect เข้า database ด้วย sqlplus และทำการ สร้าง table ที่ชื่อว่า "image_table" เพื่อใช้ในการเก็บรูป
connect hr/hr create table image_table (id number primary key, image ordsys.ordimage);2. ทำการสร้าง directory ที่เก็บรูปไว้โดย ตั้งให้ตรงกับ directory ที่เก็บรูปไว้อยู่ ด้วย user sys และทำการให้สิทธิในการอ่าน directory แก่ user hr
connect / as sysdba create or replace directory imagedir as '/home/oracle/quickstart/'; grant read on directory imagedir to hr;3. ใช้ user hr ในการสร้าง PL/SQL procedure ในการ import รูปเข้ามายัง table
create or replace procedure image_import(dest_id number, filename varchar2) is img ordsys.ordimage; ctx raw(64) := null; begin delete from image_table where id = dest_id; insert into image_table (id,image) values (dest_id, ordsys.ordimage.init()) returning image into img; img.importFrom(ctx, 'file', 'IMAGEDIR', filename); update image_table set image=img where id=dest_id; end; /! ที่ IMAGEDIR จะต้องพิมพ์เป็นตัวใหญ่ทั้งหมด แม้ในตอนที่สร้าง directory ขึ้นมาจาพิมพ์ด้วยตัวพิมพ์เล็กก็ตาม
4. ทดลองเรียกใช้ procedure ที่สร้างขึ้นมา
call image_import(1,’book2.jpg’); call image_import(2,’check.png’);เสร็จแล้วรูปทั้งสองรูปจะถูกเพิ่มเข้าไปยัง table
5. ตรวจสอบรูปภาพด้วยคำสั่ง select ต่อไปนี้ โดยสามารถใช้ดูได้หลายคุณสมบัติของรูป แต่คำสั่งในตัวอย่างนี้จะเป็นการดูความกว้างความยาวของรูป
SQL> select id,t.image.getheight(),t.image.getwidth() from image t; ID T.IMAGE.GETHEIGHT() T.IMAGE.GETWIDTH() ---------- ------------------- ------------------ 1 134 572 2 464 667
ในลิ้งค์อ้างอิงยังมีตัวอย่างการใช้ Oracle interMedia อีก แต่ขอยกตัวอย่างมาเพียงเท่านี้ครับ
Credit by Ice
อ้างอิง
No comments:
Post a Comment