À̹ÌÁö, ¿Àµð¿À ¶Ç´Â ºñµð¿À ¿ÀºêÁ§Æ®ÀÇ ÀúÀå½Ã, Extender°¡ ÀÌÇØÇÏ´Â Çü½ÄÀ¸·Î Á¦ÇѵÇÁö ¾Ê½À´Ï´Ù. »ç¿ëÀÚ ÀÚ½ÅÀÇ Çü½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Extender°¡ Çü½ÄÀ» ÀÌÇØÇÏÁö ¸øÇÑ´Ù¸é, ¼Ò½º ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼ºÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¼Ó¼º ±¸Á¶¿¡ ¼Ó¼º°ªÀ» ÁöÁ¤ÇϽʽÿÀ. ¼Ó¼º ±¸Á¶´Â UDF¿¡ ÀÖ´Â LONG VARCHAR FOR BIT DATA º¯¼öÀÇ µ¥ÀÌÅÍ Çʵ忡 ÀúÀåÇØ¾ß ÇÕ´Ï´Ù.
¼¹öÀÇ UDF ÄÚµå´Â Ç×»ó "big endian Çü½Ä"ÀÇ µ¥ÀÌÅ͸¦ ¿¹»óÇÕ´Ï´Ù. Big endian Çü½ÄÀº ´ëºÎºÐÀÇ UNIX Ç÷§Æû¿¡¼ »ç¿ëÇÏ´Â Çü½ÄÀÔ´Ï´Ù. "little endian Çü½Ä"À¸·Î ¿ÀºêÁ§Æ®¸¦ ÀúÀåÁßÀÎ °æ¿ì, ¼¹öÀÇ UDF Äڵ尡 Á¦´ë·Î ó¸®ÇÒ ¼ö ÀÖµµ·Ï »ç¿ëÀÚ Á¦°ø ¼Ó¼º µ¥ÀÌÅ͸¦ ÁغñÇØ¾ß ÇÕ´Ï´Ù. Little endian Çü½ÄÀº Intel(R) ¹× ±âŸ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ Ç÷§Æû¿¡¼ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â Çü½ÄÀÔ´Ï´Ù. (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); DBEXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2IMAGE( CURRENT SERVER, '/employee/images/ajones.bmp', :hvStorageType, 'Anita''s picture', :hvImgattrs, /* user-specified attributes */ CAST(NULL as LONG VARCHAR) );
C ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ´Â ´ÙÀ½ ¸í·É¹®Àº µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ¿Àµð¿À Ŭ¸³ÀÌ ÀÖ´Â ÇàÀ» ÀúÀåÇÕ´Ï´Ù. ¼¹ö ÆÄÀÏ¿¡ ÀÖ´Â ¼Ò½º ¿Àµð¿À Ŭ¸³¿¡´Â »ç¿ëÀÚ Á¤ÀÇ Çü½ÄÀ¸·Î, 44.1 kHzÀÇ »ùÇøµÀ²°ú µÎ °³ÀÇ ·¹ÄÚµåµÈ ä³ÎÀÌ ÀÖ½À´Ï´Ù. ¿Àµð¿À Ŭ¸³ÀÌ MIDI°¡ ¾Æ´Ï¹Ç·Î, Æ®·¢ À̸§°ú ¾Ç±â¿¡ ºó ¹®ÀÚ¿À» ÁöÁ¤ÇÕ´Ï´Ù.
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,"FormatA"); paudioAttr>ulSamplingRate=44100; paudioAttr>usNumChannels=2; hvAudattrs.len=sizeof(MMDBAudioAttrs); DBaPrepareAttrs(paudioAttr); EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2AUDIO( CURRENT SERVER, '/employee/sounds/ajones.aud', :hvStorageType, 'Anita''s voice', :hvAudattr) /* user-specified attributes */ );