IBM Books

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

»ç¿ëÀÚ Á¦°ø ¼Ó¼ºÀ¸·Î ¿ÀºêÁ§Æ® °»½Å

»ç¿ëÀÚ Á¦°ø ¼Ó¼ºÀ¸·Î ÀúÀåµÈ À̹ÌÁö, ¿Àµð¿À ¶Ç´Â ºñµð¿À ¿ÀºêÁ§Æ® °»½Å½Ã ³»¿ëÀ» °»½ÅÇÏ´Â ¼Ó¼ºÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¼Ó¼º ±¸Á¶¿¡ ¼Ó¼º°ªÀ» ÁöÁ¤ÇϽʽÿÀ. ¼Ó¼º ±¸Á¶°¡ UDF¿¡¼­ LONG VARCHAR FOR BIT DATA º¯¼öÀÇ µ¥ÀÌÅÍ Çʵ忡 ÀúÀåµÇ¾î¾ß ÇÕ´Ï´Ù.

¼­¹öÀÇ UDF ÄÚµå´Â Ç×»ó "big endian Çü½Ä"ÀÇ µ¥ÀÌÅ͸¦ ¿¹»óÇÕ´Ï´Ù. Big endian Çü½ÄÀº ´ëºÎºÐÀÇ UNIX Ç÷§Æû¿¡¼­ »ç¿ëÇÏ´Â Çü½ÄÀÔ´Ï´Ù. "little endian Çü½Ä"À¸·Î ¿ÀºêÁ§Æ®¸¦ ÀúÀåÁßÀÎ °æ¿ì, ¼­¹öÀÇ UDF Äڵ尡 Á¦´ë·Î ó¸®ÇÒ ¼ö ÀÖµµ·Ï »ç¿ëÀÚ Á¦°ø ¼Ó¼º µ¥ÀÌÅ͸¦ ÁغñÇØ¾ß ÇÕ´Ï´Ù. Little endian Çü½ÄÀº Intel ¹× ±âŸ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ Ç÷§Æû¿¡¼­ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â Çü½ÄÀÔ´Ï´Ù. (little endian Çü½ÄÀ¸·Î ¿ÀºêÁ§Æ®¸¦ ÀúÀåÇÏÁö ¾Ê´Â °æ¿ì¿¡µµ, »ç¿ëÀÚ Á¦°ø ¼Ó¼º µ¥ÀÌÅ͸¦ ÁغñÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.) À̹ÌÁö ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼ºÀ» ÁغñÇÏ·Á¸é DBiPrepareAttrs API¸¦ »ç¿ëÇϽʽÿÀ. ¿Àµð¿À ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼ºÀ» ÁغñÇÏ·Á¸é DBaPrepareAttrs API¸¦ »ç¿ëÇϽʽÿÀ. ºñµð¿À ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼ºÀ» ÁغñÇÏ·Á¸é DBvPrepareAttrs API¸¦ »ç¿ëÇϽʽÿÀ.

¿¹¸¦ µé¾î, C ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ´Â ´ÙÀ½ ¸í·É¹®Àº ¼­¹ö ÆÄÀÏ¿¡ ³»¿ëÀÌ ÀÖ´Â À̹ÌÁö¸¦ °»½ÅÇÕ´Ï´Ù. À̹ÌÁö´Â »ç¿ëÀÚ Á¤ÀÇ Çü½ÄÀ¸·Î, 640 Çȼ¿ ³ôÀÌ¿Í 480 Çȼ¿ ÆøÀ» °®½À´Ï´Ù. À̹ÌÁö°¡ °»½ÅµÇ±â Àü¿¡ ¼Ó¼ºÀÌ ÁغñµÊÀ» À¯ÀÇÇϽʽÿÀ.

EXEC SQL BEGIN DECLARE SECTION;
  long hvStorageType;
struct {
       short len;
       char data[400];
       }hvImgattrs;
EXEC SQL END DECLARE SECTION;
 
DB2IMAGEATTRS    *pimgattr;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
pimgattr = (DB2IMAGEATTRS *) hvImgattrs.data;
strcpy(pimgattr>Format,"FormatI");
pimgattr>width=640;
pimgattr>height=480;
hvImgattrs.len=sizeof(DB2IMAGEATTRS);
 
DBiPrepareAttrs(pimgattr);
 
EXEC SQL UPDATE EMPLOYEE
   SET PICTURE=REPLACE(
                 PICTURE,
                 '/employee/newimg/ajones.bmp',
                 :hvStorageType,
                 'Anita''s new picture',
                 :ImgAttrs,                     /*user-supplied attributes*/
                 CAST(NULL as LONG VARCHAR))
   WHERE NAME='Anita Jones';


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