±¤°í ´ëÇà»ç¿¡ Àִ ȸ°è °ü¸®ÀÚ´Â ±¤°í ½Ã°£ÀÌ 30ÃÊ ÀÌÇÏÀ̸é¼, 1997³â IBM ȸ°è¿ëÀ¸·Î ÀÛ¼ºµÈ ºñµð¿À ±¤°í¸¦ ã¾Æ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ Ç¥´Â ºñµð¿À¿¡ ¾×¼¼½ºÇÏ´Â Á¶È¸¸¦ Ç¥½ÃÇÕ´Ï´Ù. Á¶È¸¿¡ ÀÖ´Â Video Extender UDF¸í Filename°ú DurationÀ» ÁÖ¸ñÇϽʽÿÀ.
±×¸² 2. ºñµð¿À¿¡ ¾×¼¼½ºÇÏ´Â Á¶È¸
SELECT FILENAME(ADS_VIDEO) FROM ADS WHERE CLIENT='IBM' AND SHIP_DATE>='01/01/1997' AND DURATION(ADS_VIDEO) <=30 |
Á¶È¸´Â ¿øÇÏ´Â ºñµð¿ÀÀÇ ÆÄÀÏ À̸§À» ¸®ÅÏÇÕ´Ï´Ù. ±×·¯¸é ȸ°è °ü¸®ÀÚ´Â ÀÚ½ÅÀÌ ¼±È£ÇÏ´Â ºñµð¿À Ç÷¹À̾ ½ÃÀÛÇÏ°í °¢°¢ÀÇ ºñµð¿À ÆÄÀÏÀÇ ³»¿ëÀ» Àç»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾ÕÀÇ ¿¹½Ã´Â ȸ°è °ü¸®ÀÚ°¡ ´ëȽÄÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Â Á¶È¸ÀÇ ¿¹ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ȸ°è °ü¸®ÀÚ´Â ºñµð¿À¸¦ ã°í Àç»ýÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥À» »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½ ¿¹½Ã´Â C·Î ÄÚµùµÈ ±×·± ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÀϺΠŰ ¿ä¼Ò¸¦ ³ªÅ¸³À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº hvVid_fnameÀ̶ó´Â DB2 È£½ºÆ® º¯¼ö¿¡¼ ºñµð¿À ÆÄÀÏ À̸§À» °Ë»öÇÕ´Ï´Ù. ¶ÇÇÑ, ÀÀ¿ëÇÁ·Î±×·¥Àº À̸§ÀÌ DBvPlayÀÎ Àç»ý API¸¦ »ç¿ëÇÏ¿© ºñµð¿À¸¦ Àç»ýÇÕ´Ï´Ù.
±×¸² 3. ºñµð¿À¿¡ ¾×¼¼½ºÇϰí Àç»ýÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥
#include <dmbvideo.h> int count = 0; EXEC SQL BEGIN DECLARE SECTION; char hvClient[30]; /*client name*/ char hvCampaign[30]; /*campaign name*/ char hvSdate[8]; /*ship date*/ char hvVid_fname [251] /*video file name*/ EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE c1 CURSOR FOR SELECT CLIENT, CAMPAIGN, SHIP_DATE, FILENAME(ADS_VIDEO) FROM ADS WHERE CLIENT='IBM' AND SHIP_DATE>='01/01/1997' AND DURATION(ADS_VIDEO)<=30 FOR FETCH ONLY; EXEC SQL OPEN c1; for (;;){ EXEC SQL FETCH c1 INTO :hvClient, :hvCampaign, :hvSdate, :hvVid_fname; if (SQLCODE != 0) break; printf("\nRecord %d:\n", ++count); printf("Client = '%s'\n", hvClient); printf("Campaign = '%s'\n", hvCampaign); printf("Sdate = '%s'\n", hvSdate); rc=DBvPlay(NULL,MMDB_PLAY_FILE,hvVid_fname,MMDB_PLAY_WAIT); } EXEC SQL CLOSE c1; |