IBM Books

Image, Audio, Video Extender °ü¸® ¹× ÇÁ·Î±×·¡¹Ö

DB2Audio


Image Audio Video
  X  

µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ¿Àµð¿À ³»¿ëÀ» ÀúÀåÇÕ´Ï´Ù. ¿Àµð¿À ¼Ò½º´Â Ŭ¶óÀÌ¾ðÆ® ¹öÆÛ, Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ ¶Ç´Â ¼­¹ö ÆÄÀÏ¿¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. À̹ÌÁö´Â BLOBÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×À̺íÀ̳ª, ¼­¹ö ÆÄÀÏ(µ¥ÀÌÅͺ£À̽º Å×À̺íÀÌ ÂüÁ¶ÇÏ´Â)¿¡ ÀúÀåµÉ ¼ö ÀÖ½À´Ï´Ù. ¿Àµð¿À ¼Ò½º´Â DB2 Audio Extender°¡ ÀúÀ念¿ª¿¡ ´ëÇÑ ±×°ÍÀÇ ¼Ó¼ºÀ» Ç¥½ÃÇÏ´Â °æ¿ì¿¡´Â Áö¿øµÇ´Â Çü½ÄÀ¸·Î ÀÖÀ» ¼ö ÀÖ°í, ¶Ç´Â ¼Ó¼ºÀÌ UDF¿¡ ÁöÁ¤µÇ¾î¾ß ÇÏ´Â °æ¿ì¿¡ Áö¿øµÇÁö ¾ÊÀº Çü½ÄÀ¸·Î ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.

Include ÆÄÀÏ

dmbaudio.h

±¸¹®

¹öÆÛ³ª Ŭ¶óÀÌ¾ðÆ® ÆÄÀϷκÎÅÍ ³»¿ë ÀúÀå

>>-DB2Audio--(--dbname--,--content--,--format--,---------------->
 
>----target_file--,--comment--)--------------------------------><
 

±¸¹®

¼­¹ö ÆÄÀϷκÎÅÍ ³»¿ë ÀúÀå

>>-DB2Audio--(--dbname--,--source_file--,--format--,--stortype--,-->
 
>---comment--)-------------------------------------------------><
 

±¸¹®

¹öÆÛ ¶Ç´Â Ŭ¶óÀÌ¾ðÆ® ÆÄÀϷκÎÅÍ »ç¿ëÀÚ Á¦°ø ¼Ó¼ºÀ¸·Î ³»¿ë ÀúÀå

>>-DB2Audio--(--dbname--,--content--,--target_file--,----------->
 
>----comment--,--attrs--)--------------------------------------><
 

±¸¹®

¼­¹ö ÆÄÀϷκÎÅÍ »ç¿ëÀÚ Á¦°ø ¼Ó¼ºÀ¸·Î ³»¿ë ÀúÀå

>>-DB2Audio--(--dbname--,--source_file--,--stortype--,--comment--,-->
 
>---attrs--)---------------------------------------------------><
 

¸Å°³º¯¼ö(µ¥ÀÌÅÍ À¯Çü)

dbname(VARCHAR(18))
CURRENT SERVER Ư¼ö ·¹Áö½ºÅͰ¡ Ç¥½ÃÇÏ´Â °Í°ú °°Àº ÇöÀç ¿¬°áµÈ µ¥ÀÌÅͺ£À̽º À̸§.

content(BLOB(2G) AS LOCATOR)
¿Àµð¿À ³»¿ëÀÌ Àִ ȣ½ºÆ® º¯¼ö. È£½ºÆ® º¯¼ö´Â BLOB, BLOB_FILE ¶Ç´Â BLOB_LOCATOR À¯ÇüÀÌ °¡´ÉÇÕ´Ï´Ù. DB2´Â ³»¿ëÀÇ µ¥ÀÌÅÍ À¯ÇüÀ» BLOB-LOCATOR·Î ÁøÇà½Ã۰í LOB À§Ä¡ ÁöÁ¤ÀÚ¸¦ DB2Audio UDF¿¡ Àü´ÞÇÕ´Ï´Ù.

format(VARCHAR(8))
¼Ò½º ¿Àµð¿ÀÀÇ Çü½Ä. ³Î(NULL)°ªÀ̳ª ºó ¹®ÀÚ¿­ÀÌ ÁöÁ¤µÉ ¼ö ÀÖÀ¸¸ç, ÀÌ °æ¿ì Audio Extender°¡ ¼Ò½º Çü½ÄÀ» ÀÚµ¿À¸·Î °áÁ¤ÇÏ·Á ÇÒ °ÍÀÔ´Ï´Ù. ¿Àµð¿À´Â ±×°ÍÀÇ ¼Ò½º¿Í µ¿ÀÏ Çü½ÄÀ¸·Î ÀúÀåµÉ °ÍÀÔ´Ï´Ù. Áö¿øµÇ´Â ¿Àµð¿À Çü½Ä¿¡ ´ëÇØ¼­´Â Ç¥ 4¸¦ ÂüÁ¶ÇϽʽÿÀ.

target_file(LONG VARCHAR)
¸ñÇ¥ ¼­¹ö ÆÄÀÏ(¼­¹ö ÆÄÀÏ·Î ÀúÀå¿ë) À̸§ ¶Ç´Â ³Î(NULL) °ªÀ̳ª ºó ¹®ÀÚ¿­(BLOBÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×À̺í·Î ÀúÀå¿ë). ¸ñÇ¥ ÆÄÀÏÀº ¿ÏÀüÈ÷ ±ÔÁ¤µÈ À̸§ÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. À̸§ÀÌ ±ÔÁ¤µÇÁö ¾Ê´Â´Ù¸é, ¼­¹ö¿¡ ÀÖ´Â DB2AUDIOSTORE¿Í DB2MMSTORE ȯ°æ º¯¼ö°¡ ÆÄÀÏÀ» À§Ä¡ ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

source_file(LONG VARCHAR)
¼Ò½º ¼­¹ö ÆÄÀÏ À̸§. ¼Ò½º ÆÄÀÏ À̸§Àº ¿ÏÀüÈ÷ ±ÔÁ¤µÈ À̸§À̳ª ±ÔÁ¤µÇÁö ¾ÊÀº À̸§ÀÏ ¼ö ÀÖ½À´Ï´Ù. ³Î(NULL)°ªÀ̳ª ºó ¹®ÀÚ¿­ÀÌ µÉ ¼ö´Â ¾ø½À´Ï´Ù. À̸§ÀÌ ±ÔÁ¤µÇÁö ¾Ê´Â´Ù¸é, ¼­¹ö¿¡ ÀÖ´Â DB2AUDIOPATH¿Í DB2MMPATH ȯ°æ º¯¼ö°¡ ÆÄÀÏÀ» À§Ä¡ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

stortype(INTEGER)
¿Àµð¿À°¡ ÀúÀåµÉ Àå¼Ò¸¦ Ç¥½ÃÇÏ´Â °ª. »ó¼ö MMDB_STORAGE_TYPE_INTERNAL(°ª=1)Àº ¿Àµð¿À°¡ BLOBÀ¸·Î µ¥ÀÌÅ׺£À̽º¿¡ ÀúÀåµÉ °ÍÀÓÀ» ³ªÅ¸³À´Ï´Ù. »ó¼ö MMDB_STORAGE_TYPE_EXTERNAL(°ª=0)Àº ¿Àµð¿À ³»¿ëÀÌ ¼­¹ö ÆÄÀÏ(µ¥ÀÌÅͺ£À̽º¿¡¼­ Áö½ÃµÊ)¿¡ ÀúÀåµÉ °ÍÀÓÀ» ³ªÅ¸³À´Ï´Ù.

comment(LONG VARCHAR)

¿Àµð¿À¿Í ÇÔ²² ÀúÀåµÇ´Â ÁÖ¼®

attrs(LONG VARCHAR FOR BIT DATA)
¿Àµð¿À ¼Ó¼º

¸®ÅÏ °ª(µ¥ÀÌÅÍ À¯Çü)

¿Àµð¿À ÇÚµé(DB2AUDIO)

¿¹

Anita JonesÀÇ ¿Àµð¿À Ŭ¸³ÀÌ ÀÖ´Â ·¹Äڵ带 employee Å×ÀÌºí¿¡ »ðÀÔÇϽʽÿÀ. ¿Àµð¿À ¼Ò½º´Â Ŭ¶óÀÌ¾ðÆ® ¹öÆÛ¿¡ ÀÖ½À´Ï´Ù. BLOBÀ¸·Î Å×ÀÌºí¿¡ ¿Àµð¿À Ŭ¸³À» ÀúÀåÇϽʽÿÀ.

EXEC SQL BEGIN DECLARE SECTION;
     SQL TYPE IS BLOB (5M) aud_seg;
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
      DB2AUDIO(
         CURRENT SERVER,
         :aud_seg,
         'WAVE',
         CAST(NULL as LONG VARCHAR),
         
         'Anita''s voice'));

Robert SmithÀÇ ¿Àµð¿À Ŭ¸³ÀÌ ÀÖ´Â ·¹Äڵ带 employee Å×ÀÌºí¿¡ »ðÀÔÇϽʽÿÀ. ¿Àµð¿À ¼Ò½º´Â ¼­¹ö ÆÄÀÏ¿¡ ÀÖ½À´Ï´Ù. employee Å×ÀÌºí ·¹ÄÚµå´Â ÆÄÀÏÀ» Áö½ÃÇÒ °ÍÀÔ´Ï´Ù.

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
EXEC SQL END DECLARE SECTION;
 
hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '384779',
      'Robert Smith',
      DB2AUDIO(
         CURRENT SERVER,
         '/employee/sounds/rsmith.wav',
         'WAV',
         :hvStorageType,
         'Robert''s voice'));

Anita JonesÀÇ ¿Àµð¿À Ŭ¸³ÀÌ ÀÖ´Â ·¹Äڵ带 employee Å×ÀÌºí¿¡ »ðÀÔÇϽʽÿÀ. BLOBÀ¸·Î ¿Àµð¿À Ŭ¸³À» ÀúÀåÇÕ´Ï´Ù. ¼­¹ö ÆÄÀÏ¿¡ ÀÖ´Â ¼Ò½º ¿Àµð¿À Ŭ¸³Àº »ç¿ëÀÚ Á¤ÀÇ Çü½ÄÀ¸·Î 44.1KHz »ùÇøµÀ²ÀÇ µÎ °¡Áö ·¹ÄÚµåµÈ ä³ÎÀÌ ÀÖ½À´Ï´Ù.

EXEC SQL BEGIN DECLARE SECTION;
long hvStorageType;
struct {
       short len;
       char data[600];
}hvAudattr;
EXEC SQL END DECLARE SECTION;
 
MMDBAudioAttrs          *paudiattr;
 
hvStorageType = MMDB_STORAGE_TYPE_INTERNAL;
 
paudioattr=(MMDBAudioAttrs *) hvAudattr.data;
strcpy(paudioAttr>cFormat,"cFormatA");
paudioAttr>ulSamplingRate=44100;
paudioAttr>usNumChannels=2;
hvAudattrs.len=sizeof(MMDBAudioAttrs);
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',
        'Anita Jones',
               DB2AUDIO(
               CURRENT SERVER,
               '/employee/sounds/ajones.aud',
               :hvStorageType,
               'Anita"s voice',
               :hvAudattr)
       );


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]