DB2 Extender´Â µ¥ÀÌÅͺ£À̽º¿¡ À̹ÌÁö, ¿Àµð¿À ¹× ºñµð¿À µ¥ÀÌÅ͸¦ ÀúÀåÇϰí, ¾×¼¼½ºÇϸç, ó¸®ÇÏ´Â »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ Á¦°øÇÕ´Ï´Ù. »ç¿ëÀÚ´Â SQL ³»Àå ÇÔ¼ö¸¦ ¿äûÇÑ ¹æ¹ý°ú µ¿ÀÏÇÏ°Ô SQL¹®À» »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÌ·¯ÇÑ UDF¿¡ ´ëÇÑ ¿äûÀ» ÄÚµùÇÕ´Ï´Ù. ³»Àå ÇÔ¼ö¿Í °°ÀÌ, UDF´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ ¼öÇàµË´Ï´Ù.
C ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ´Â ´ÙÀ½ÀÇ SQL¹®Àº µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ À̹ÌÁö¸¦ ÀúÀåÇϱâ À§ÇÑ DB2Image¶ó´Â Image Extender UDF¸¦ ¿äûÇÕ´Ï´Ù.
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; EXEC SQL END DECLARE SECTION; hvStorageType=MMDB_STORAGE_TYPE_INTERNAL EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', /*id*/ 'Anita Jones', /*name*/ DB2IMAGE( /*Image Extender UDF*/ CURRENT SERVER, /*database */ '/employee/images/ajones.bmp', /*image content*/ 'ASIS', /*keep the image format*/ :hvStorageType, /*store image in DB as BLOB* 'Anita''s picture') /*comment*/ );
Extender ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© À̹ÌÁö¸¦ Ç¥½ÃÇÏ°í ¿Àµð¿À³ª ºñµð¿À ¿ÀºêÁ§Æ®¸¦ Àç»ýÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÇÔ¼ö È£ÃâÀ» »ç¿ëÇÏ´Â ÀÌ·¯ÇÑ API¸¦ C·Î ÄÚµùÇÕ´Ï´Ù. ÇÔ¼ö´Â µ¥ÀÌÅͺ£À̽º Ŭ¶óÀÌ¾ðÆ® ¿öÅ©½ºÅ×À̼ǿ¡¼ ¼öÇàµË´Ï´Ù.
´ÙÀ½ÀÇ C¹®Àº DBiBrowse¶ó´Â API¸¦ Æ÷ÇÔÇÕ´Ï´Ù. API´Â µ¥ÀÌÅÍ¿¡¼ À̹ÌÁö ÇÚµéÀ» °Ë»öÇÏ¿© À̹ÌÁö¸¦ Ç¥½ÃÇϱâ À§ÇÑ ºê¶ó¿ìÀú¸¦ ½ÃÀÛÇÕ´Ï´Ù.
EXEC SQL BEGIN DECLARE SECTION; char hvImg_hdl[251]; EXEC SQL END DECLARE SECTION EXEC SQL SELECT PICTURE INTO :hvImg_hdl WHERE NAME= 'Robert Smith'; rc=DBiBrowse( "ib %s", /*image browser*/ MMDB_PLAY_HANDLE, /*use image handle*/ hvImg_hdl, /*image handle*/ MMDB_PLAY_NO_WAIT); /*run browser independently*/
UDF´Â ÀνºÅϽºÀÇ »ç¿ëÀÚ ID ÇÏ¿¡¼ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù. DB2 Extender UDF´Â DB2 Extender ÀνºÅϽº¿Í µ¿ÀÏÇÑ »ç¿ëÀÚ ID ÇÏ¿¡¼ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ, DB2 Extender ÀνºÅϽº¸¦ ÀÛ¼ºÇϰųª ±âÁ¸ÀÇ DB2 Extender ÀνºÅϽº¸¦ »ç¿ëÇÒ °æ¿ì, UDF´Â DB2 ÀνºÅϽº¿Í µ¿ÀÏÇÑ »ç¿ëÀÚ ID ÇÏ¿¡¼ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.
DB2¸¦ ÀûÀýÈ÷ ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù. DB2 Extender(ƯÈ÷ DB2 Extender UDF)°¡ Á¦´ë·Î ÀÛµ¿ÇÏ·Á¸é, DB2¸¦ ÀûÀýÈ÷ ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù. ƯÈ÷, APP_CTL_HEAP_SZ µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼ö¸¦ ÀûÀýÈ÷ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.