ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß: ÇÁ·Î±×·¡¹Ö ¼­¹ö ÀÀ¿ëÇÁ·Î±×·¥

´ÙÁß °á°ú ¼¼Æ® CLR(Common Language Runtime) ÇÁ·Î½ÃÀú

CLR ÇÁ·Î½ÃÀú°¡ ¸®ÅÏÇÒ ¼ö ÀÖ´Â ÃÖ´ë °á°ú ¼¼Æ® ¼ö´Â Á¦Çѵ˴ϴÙ. ÀÌ ÇÑ°è °ªÀº DB2 .NET Data Provider°¡ ÇÑ ¿¬°á ³»¿¡¼­ µ¿½Ã¿¡ ¿­ ¼ö ÀÖ´Â DB2DataReader ¿ÀºêÁ§Æ®ÀÇ ÃÖ´ë ¼ö¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù. µ¿½Ã È°¼º µ¥ÀÌÅÍ Æǵ¶±â Áö¿øÀ» ÅëÇØ ¿©·¯ DB2DataReader ¿ÀºêÁ§Æ®¸¦ ÇÑ ¿¬°á ³»¿¡¼­ ¿­ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ÇÑ CLR ÇÁ·Î½ÃÀú¿¡¼­ ¿©·¯ °á°ú ¼¼Æ®¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ½À´Ï´Ù.

CLR ·çƾ ½ÇÇà Á¦¾î ¸ðµå(EXECUTION CONTROL Àý)

µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ ¶Ç´Â ÀÀ¿ëÇÁ·Î±×·¥ °³¹ßÀڷμ­, ·±Å¸Àӽà ·çƾÀÇ Á¶Ä¡¸¦ Á¦ÇÑÇÏ¿© ¿øÇÏÁö ¾Ê´Â °£¼·À¸·ÎºÎÅÍ DB2 Universal Database(TM)(UDB) ¿ÜºÎ ·çƾ°ú ¿¬°üµÇ´Â ¾î¼Àºí¸®¸¦ º¸È£ÇÒ ¼ö ÀÖ½À´Ï´Ù. DB2(R) .NET CLR ·çƾÀº ·±Å¸ÀÓ¿¡¼­ ·çƾÀÌ ¼öÇàÇÒ ¼ö ÀÖ´Â Á¶Ä¡ À¯ÇüÀ» ½Äº°ÇÏ´Â ½ÇÇà Á¦¾î ¸ðµå ½ºÆåÀ» Áö¿øÇÕ´Ï´Ù. ·±Å¸ÀÓ½Ã, DB2 UDB°¡ ·çƾÀÌ ÁöÁ¤µÈ ½ÇÇà Á¦¾î ¸ðµå ¹üÀ§¸¦ ¹þ¾î³ª¼­ Á¶Ä¡¸¦ ¼öÇàÇÏ·Á°í ÇÏ´ÂÁö ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ¾î¼Àºí¸® ¼Õ»ó ¿©ºÎ¸¦ ÆǺ°ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.

CLR ·çƾÀÇ ½ÇÇà Á¦¾î ¸ðµå¸¦ ¼³Á¤ÇÏ·Á¸é ·çƾÀÇ CREATE¹®¿¡ ¼±ÅÃÀû EXECUTION CONTROLÀýÀ» ÁöÁ¤ÇϽʽÿÀ. À¯È¿ÇÑ ¸ðµå´Â ´ÙÀ½°ú °°½À´Ï´Ù.

±âÁ¸ CLR ·çƾ¿¡¼­ ½ÇÇà Á¦¾î ¸ðµå¸¦ ¼öÁ¤ÇÏ·Á¸é, ALTER PROCEDURE ¶Ç´Â ALTER FUNCTION¹®À» ½ÇÇàÇϽʽÿÀ.

CLR ·çƾ¿¡ ´ëÇØ EXECUTION CONTROLÀýÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì, µðÆúÆ®·Î CLR ·çƾÀº Á¦ÇÑµÈ ½ÇÇà Á¦¾î ¸ðµå SAFE¸¦ »ç¿ëÇÏ¿© ½ÇÇàÇÕ´Ï´Ù. ÀÌ ½ÇÇà Á¦¾î ¸ðµå·Î ÀÛ¼ºµÈ ·çƾÀº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ Á¦¾îÇÏ´Â ÀÚ¿ø¿¡¸¸ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ú Á¦ÇѵǴ ½ÇÇà Á¦¾î ¸ðµå¸¦ »ç¿ëÇÏ¸é ·çƾÀÌ ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ(FILEREAD ¶Ç´Â FILEWRITE)À̳ª ³×Æ®¿öÅ©¿¡¼­ ÆÄÀÏ¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÇà Á¦¾î ¸ðµå UNSAFE´Â ·çƾ µ¿ÀÛ¿¡ ´ëÇØ ¾î¶² Á¦Çѵµ ¹ß»ýÇÏÁö ¾ÊÀ½À» ÁöÁ¤ÇÕ´Ï´Ù. UNSAFE ½ÇÇà Á¦¾î ¸ðµå¿¡¼­ Á¤ÀÇµÈ ·çƾÀº 2Áø Äڵ带 ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ Á¦¾î ¸ðµå´Â Çã¿ë °¡´ÉÇÑ Á¶Ä¡ °èÃþ ±¸Á¶¸¦ Ç¥½ÃÇϸç, »óÀ§ ·¹º§ ¸ðµå¿¡´Â °èÃþ ±¸Á¶¿¡¼­ ÀÌ ¸ðµå ¾Æ·¡¿¡¼­ Çã¿ëµÇ´Â Á¶Ä¡°¡ Æ÷ÇԵ˴ϴÙ. ¿¹¸¦ µé¾î, ½ÇÇà Á¦¾î ¸ðµå NETWORKÀº ·çƾÀÌ ³×Æ®¿öÅ©ÀÇ ÆÄÀÏ, ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛÀÇ ÆÄÀÏ ¹× µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ Á¦¾î¸¦ ¹Þ´Â ÀÚ¿ø¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇÕ´Ï´Ù. °¡´ÉÇÏ¸é °¡Àå Á¦ÇÑÀûÀÎ ½ÇÇà Á¦¾î ¸ðµå¸¦ »ç¿ëÇÏ°í UNSAFE ¸ðµå´Â »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À.

DB2 UDB°¡ ·±Å¸ÀÓ¿¡¼­ CLR ·çƾÀÌ ½ÇÇà Á¦¾î ¸ðµå ¹üÀ§ ¹Û¿¡¼­ Á¶Ä¡¸¦ ½ÃµµÇÏ°í ÀÖÀ½À» ¹ß°ßÇϸé, DB2 UDB´Â ¿À·ù(SQLSTATE 38501)¸¦ ¸®ÅÏÇÕ´Ï´Ù.

EXECUTION CONTROLÀýÀº LANGUAGE CLR ·çƾ¿¡ ´ëÇؼ­¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. EXECUTION CONTROLÀýÀÇ Àû¿ë °¡´É¼º ¹üÀ§´Â .NET CLR ·çƾ ÀÚü·Î Á¦ÇѵǸç, È£ÃâÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ·ÎƾÀ¸·Î È®ÀåµÇÁö ¾Ê½À´Ï´Ù.

CLR(Common language runtime) ·çƾ¿¡¼­ ÃÖ´ë 10Áø¼ö Á¤¹Ðµµ ¹× ½ºÄÉÀÏ

DB2 Universal Database(UDB)¿¡¼­ DECIMAL µ¥ÀÌÅÍ À¯ÇüÀº 31 ÀÚ¸´¼ö Á¤¹Ðµµ¿Í 28 ÀÚ¸´¼ö ½ºÄÉÀϷΠǥ½ÃµË´Ï´Ù. .NET CLR System.Decimal µ¥ÀÌÅÍ À¯ÇüÀº 29 ÀÚ¸´¼ö Á¤¹Ðµµ¿Í 28 ÀÚ¸´¼ö ½ºÄÉÀÏ·Î Á¦Çѵ˴ϴÙ. µû¶ó¼­ DB2 UDB ¿ÜºÎ CLR ·çƾÀº 29 ÀÚ¸´¼ö Á¤¹Ðµµ¿Í 28 ÀÚ¸´¼ö ½ºÄÉÀÏÀ» »ç¿ëÇÏ¿© Ç¥½ÃÇÒ ¼ö ÀÖ´Â ÃÖ»óÀ§ °ªÀÎ (2^96)-1º¸´Ù Å« °ªÀ» System.Decimal µ¥ÀÌÅÍ À¯Çü º¯¼ö¿¡ ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ ÁöÁ¤ÀÌ ¹ß»ýÇϸé DB2 UDB´Â ·±Å¸ÀÓ ¿À·ù(SQLSTATE 22003, SQLCODE -413)¸¦ ¹ß»ýÇÕ´Ï´Ù.

·çƾ CREATE¹®ÀÌ ½ÇÇàµÉ ¶§ 28º¸´Ù Å« ½ºÄÉÀÏÀ» »ç¿ëÇÏ¿© DECIMAL µ¥ÀÌÅÍ À¯Çü ¸Å°³º¯¼ö¸¦ Á¤ÀÇÇÑ °æ¿ì, DB2 UDB´Â ¿À·ù(SQLSTATE 42611, SQLCODE -604)¸¦ ¹ß»ýÇÕ´Ï´Ù.

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