·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[VB] ADOÀÇ ÁøÈ­

½ÉÀÇÁØ(IT Å×Å©¶óÀÌÅÍ)   2005/11/28
[Áöµð³ÝÄÚ¸®¾Æ]ADO°¡ °³¹ßÇϴµ¥ ÀÖ¾î ¾ó¸¶³ª Áß¿äÇÑÁö¿¡ ´ëÇØ¼­´Â ÀÌ ±ÛÀ» Àд °³¹ßÀÚ ºÐµéÀÌ ¾î´À ´©±¸º¸´Ù Àß ¾Ë°Å¶ó »ý°¢ÇÑ´Ù. "VB 2005ÀÇ º¯È­¿Í Çâ»ó¼º"À̶õ ÁÖÁ¦·Î ±â°íÇϸ鼭 ADO¸¦ ¤°í ³Ñ¾î°¡°íÀÚ ÇÏ´Â ÀÌÀ¯´Â ±× Á߿伺À¸·Î ÀÎÇÏ¿© ADO¸¦ Á¶±ÝÀÌ¶óµµ ¼Ò°³ÇÏ°í ½Í¾ú´ø Ãæµ¿ÀÌ °­ÇÏ°Ô ÀÛ¿ëÇÏ¿´±â ¶§¹®ÀÌ´Ù.

ÀÌ¿¡ ¿À´ÃÀº ³Ê¹« °ÅâÇÏÁö¸¸ "ADOÀÇ ÁøÈ­"¶ó´Â ŸÀÌÆ²À» µÎ¾î ADO¿¡¼­ ADO.NETÀ¸·ÎÀÇ ¹ßÀü¿¡ ´ëÇØ Á» ´õ ´Ù¾çÇÏ°Ô »ìÆìº¸°íÀÚ ÇÑ´Ù. Áö³­ ½Ã°£¿¡ »ìÆì º» DataSet(DataTable)ÀÇ Çâ»ó¿¡ À̾î ProviderÀÇ º¯È­¿Í ¿¬°áÇ®¸µ ±×¸®°í, ¹èÄ¡¾÷µ¥ÀÌÆ®¿¡ ´ëÇØ »ìÆìº¸´Â ½Ã°£À» °®µµ·Ï ÇϰڴÙ.

ProviderÀÇ º¯È­
ADO.NET ÀÌÀü ¹öÀü¿¡¼­´Â Provider°¡ °¢°¢ÀÇ ÀÎÅÍÆäÀ̽º - ¿¹¸¦ µé¾î SqlClient, OracleClient - ¿¡ ±â¹ÝÇÏ¿© ÀÛ¼ºµÇ¾ú´Ù. ÀÌ·¯ÇÑ Æ¯Â¡À¸·Î ÀÎÇØ °¢°¢ÀÇ Provider¿¡ ¸Â°Ô ƯÁ¤ ¼Ó¼º°ú ¸Þ¼Òµå¸¦ ±¸ÇöÇÏ´Â ¹æ½ÄÀ» ÃëÇÏ¿´´Ù. ¹°·Ð À̰ÍÀÌ ÀüÇô À߸øµÈ ¹æ½ÄÀ» ¾Æ´ÏÁö¸¸ °¢°¢ÀÇ Provider¿¡ ¸Â°Ô °è¼ÓÀûÀÎ ÄÚµùÀ» ÇØ¾ß ÇÏ´Â ¹®Á¦¸¦ ³»Æ÷Çϰí ÀÖ¾ú´ø °Í ¶ÇÇÑ »ç½ÇÀÌ´Ù. À̸¦ º¸¿ÏÇϱâ À§ÇØ ¹öÀü 2.0 ¿¡¼­´Â »õ·Î¿î °ø±ÞÀÚ ¸ðµ¨À» Á¦°øÇÏ°Ô µÇ´Âµ¥ ¹Ù·Î System.Data.Common ¿¡ ÀÖ´Â ±âº» Ŭ·¡½º¸¦ ±â¹ÝÀ¸·Î ÀÛ¼ºµÉ ¼ö ÀÖµµ·Ï ÇÑ ºÎºÐÀÌ´Ù. ÇÏÁö¸¸, ¾Æ½±°Ôµµ ºñ·Ï ±âº» Ŭ·¡½º¸¦ ±â¹ÝÀ¸·Î ÀÛ¼ºÀº °¡´ÉÇϳª DB ¼­¹ö¿¡ ƯȭµÈ SQL ±¸¹® µîÀº Áö¿øÇÏÁö ¸øÇÑ´Ù´Â ´ÜÁ¡ ¶ÇÇÑ ³»Æ÷Çϰí ÀÖ´Ù.

¶ÇÇÑ, ¹öÀü 2.0 ¿¡¼­´Â Provider °´Ã¼¸¦ »ý¼ºÇϱâ À§ÇÏ¿© Provider Factory Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÌÀüº¸´Ù ³ªÀº À¯¿¬¼ºÀ» Á¦°øÇÏ°Ô µÈ´Ù. ProviderFactoryÀÇ GetFactory ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â »ùÇÃÄڵ带 È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.

<±×¸²1> GetFactory ¸Þ¼Òµå (Ãâó: MSDN Library)

<±×¸²2> GetFactory ¸Þ¼Òµå »ç¿ë ¿¹ (Ãâó: MSDN Library)

<±×¸² 1>Àº GetFactory ¸Þ¼Òµå¿¡ ´ëÇÑ ¼Ò°³À̸ç, <±×¸² 2>´Â »ùÇà ¼Ò½ºÀÌ´Ù. <±×¸² 2>¿¡ ³ª¿Â °Íó·³ DataRow ¿Í String À» ÀÌ¿ëÇÏ¿© Provider Factory ¸¦ ¾Ë¾Æ³»°Ô µÈ´Ù.

ÀÌó·³ ¹öÀü 2.0 ¿¡¼­´Â Provider¿¡ ´ëÇÑ ºÎºÐÀÌ º¸´Ù À¯¿¬¼ºÀ» °®°Ô µÇ¾ú´Ù´Âµ¥ Àǹ̸¦ µÎ°íÀÚ ÇÑ´Ù.

¿¬°áÇ®¸µ(Conncetion Poolling)ÀÇ Çâ»ó
¿¬°áÇ®¸µ(Connection Pooling)À̶ó´Â °³³äÀº ADO ¶§ºÎÅÍ ²ÙÁØÈ÷ Áß¿äÇÑ À§Ä¡¸¦ Â÷ÁöÇϰí ÀÖ´Ù. ¿¬°áÇ®¸µÀÌ ¾î¶² Çâ»óÀ» °¡Á®¿Ô´ÂÁö¿¡ ´ëÇØ ³íÇϱâ Àü¿¡ ¿¬°áÇ®¸µÀÌ ¹«¾ùÀÎÁö °£´ÜÈ÷ ¼Ò°³ÇϰíÀÚ ÇÑ´Ù(ÇÊÀÚ°¡ Çö¾÷¿¡¼­ °³¹ßÇϸ鼭 ¾Æ½±°Ôµµ ¿¬°áÇ®¸µÀÇ °³³äÀ» ÆÄ¾ÇÇÏÁö ¸øÇÏ´Â °³¹ßÀÚµéÀ» º¸¾Ò±â ¶§¹®¿¡ ÀÌ ±âȸ¸¦ ÅëÇØ ¼Ò°³ÇÏ°í ½Í±â ¶§¹®À̱⵵ ÇÏ´Ù.).

¿¬°áÇ®¸µÀ̶õ ´ëü ¹«¾ùÀ̱淡 Áß¿äÇÑ À§Ä¡¸¦ Â÷ÁöÇϴ°¡? ÀϹÝÀûÀ¸·Î ¿ì¸®´Â ÄÚµå »ó¿¡ µ¥ÀÌÅÍ º£À̽º¿¡ ´ëÇÑ ¿¬°áÀ» »ý¼ºÇÒ ¶§ ´ÙÀ½°ú °°Àº ±¸¹®À» ÀÛ¼ºÇÏ°Ô µÈ´Ù.

Dim adoCon as new SqlConnection(¿¬°á¹®ÀÚ¿­) : adoCon.Open()

ÀÌ ¶§ ADO´Â ÇϳªÀÇ Ç®(Pool)À» »ý¼ºÇÏ°Ô µÈ´Ù. ÀÌ Ç®ÀÌ ÇÏ´Â ÀÏÀº µ¿ÀÏÇÑ Ä¿³Ø¼ÇÀÇ ¿äû(¿©±â¼­ µ¿ÀÏÇÏ´Ù´Â Àǹ̴ ´Ü¼øÈ÷ µ¿ÀÏÇÑ DB¿¡ ´ëÇÑ ¿¬°áÀÌ ¾Æ´Ñ µ¿ÀÏÇÑ ¿¬°á ¹®ÀÚ¿­À» ÅëÇÑ ¿äûÀ» ¸»ÇÑ´Ù)ÀÌ µé¾î¿ÔÀ» ¶§ »õ·Î¿î Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ±âÁ¸¿¡ »ý¼ºµÇ¾î ÀÖ´ø Ç®À» ¹ÝȯÇϴ Ȱ¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ¿ªÇÒÀ» ÇÏ°Ô µÈ´Ù. ÀÌó·³ ¸Å¹ø ¿äû ½Ã¸¶´Ù Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ´Â °Íº¸´Ù ÀÛ¼ºµÈ Ç®À» Ȱ¿ëÇÑ´Ù´Â °Í¸¸À¸·Î ¸®¼Ò½ºÀÇ È°¿ëµµ´Â ±×¸¸Å­ ³ô¾ÆÁö°Ô µÇ´Â °ÍÀÌ´Ù. ±×¸®°í, ConnectionÀÌ Close³ª ȤÀº Dispose°¡ µÉ ¶§ Ç®¿¡ ´Ù½Ã ¹ÝȯµÇ°Ô µÈ´Ù. ¸¸¾à Ç®¿¡ »ç¿ë °¡´ÉÇÑ ÀÚ¿øÀÌ ¾øÀ¸¸é »õ·Î¿î ¿¬°áÀ» »ý¼ºÇÏ¿© ¹ÝȯÇÏ°Ô µÈ´Ù. À̰ÍÀÌ ¿¬°áÇ®¸µÀÇ ±âº» °³³äÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

ADO.NET ¿¡¼­´Â ¿¬°áÇ®¸µ¿¡ ´ëÇÑ º¸´Ù »ó¼¼ÇÑ ¼³Á¤À» Á¦°øÇÏ°Ô µÈ´Ù. ¿¹¸¦ µé¾î, Ç® Å©±â¿Í ¿¬°á ¼Ò¸ê ½Ã°£ÀÇ ÁöÁ¤ µî¿¡ ´ëÇÑ ¼³Á¤ÀÌ °¡´ÉÇϵµ·Ï Çâ»óµÇ¾ú´Ù. ¶ÇÇÑ, ADO.NET 2.0¿¡¼­´Â ClearAllPools¿Í ClearPool À̶ó´Â »õ·Î¿î ¸Þ¼Òµå¸¦ Á¦°øÇÏ°Ô µÇ´Âµ¥, ÀÌ ¸Þ¼Òµå¸¦ ÅëÇØ ƯÁ¤ ȤÀº ÀüüÀÇ Ç®À» Áö¿ï ¼ö ÀÖ°Ô µÇ¾ú´Ù.

µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö½Ã ¿¬°á Ç®¸µ¿¡ ´ëÇÑ ÀÌÇØ¸¦ ÅëÇØ ÀÚ½ÅÀÇ ProductÀÇ Quality¸¦ ³ôÀ̵µ·Ï ÇÏÀÚ.

¹èÄ¡ ¾÷µ¥ÀÌÆ®ÀÇ Áö¿ø
DataSetÀ» »ç¿ëÇÏ¿© µÑ ÀÌ»óÀÇ ÇàÀ» º¯°æ(Ãß°¡, »èÁ¦, ¼öÁ¤)ÇÏ°Ô µÇ´Â °æ¿ì DataAdapter´Â °¢°¢ÀÇ Çà¿¡ ´ëÇÑ Ã³¸®¸¦ ÇÏ°Ô µÈ´Ù. À̶§ º¯°æÇϰíÀÚ ÇÏ´Â ÇàÀÇ ¼ö¸¸Å­ DataAdapter´Â °¢ ÇàÀ§¸¦ üũÇÏ¿© ½ÇÇàÇϱ⠶§¹®¿¡ ±×¸¸Å­ ¶ó¿îµåÆ®¸³ÀÌ ¹ß»ýÇÏ¿© ¼º´ÉÀ» ÀúÇϽÃŰ°Ô µÈ´Ù. À̶§ ¹èÄ¡ ¾÷µ¥ÀÌÆ®¸¦ ÅëÇØ ÇØ´ç ³×Æ®¿öÅ©ÀÇ ¶ó¿îµåÆ®¸³À» °¨¼Ò ½Ãų ¼ö ÀÖ°Ô µÇ¾ú´Ù. ¹èÄ¡ ¾÷µ¥ÀÌÆ®¸¦ ÁöÁ¤ÇÏ´Â ±¸¹®Àº ´ÙÀ½°ú °°´Ù.

DataAdapter.UpdateBatchSize = Int32

¿©±â¼­ Size´Â 0, 1, ȤÀº 1ÀÌ»óÀ» ÁöÁ¤ÇÏ°Ô µÇ´Âµ¥ 0 Àº ¹èÄ¡ ¾÷µ¥ÀÌÆ®ÀÇ Ãִ븦 ³ªÅ¸³»¸ç 1Àº ¿¹Àü°ú °°ÀÌ °¢°¢ÀÇ ÇàÀ» ó¸®ÇÏ´Â °Í°ú µ¿ÀÏÇÏ´Ù. 1 ÀÌ»óÀÎ °æ¿ì¿¡´Â ÁöÁ¤µÈ ¼ö¸¸Å­À» ³ªÅ¸³»°Ô µÈ´Ù.

Á» ´õ È®½ÇÇÑ ÀÌÇØ¸¦ µ½°íÀÚ MSDN¿¡ ³ª¿À´Â ¹èÄ¡ ¾÷µ¥ÀÌÆ®ÀÇ »ùÇà Äڵ带 Ãà¾àÇÏ¿© ¹ßÃéÇÏ¿´´Ù.

<±×¸² 3> ¹èÄ¡ ¾÷µ¥ÀÌÆ® »ùÇà ÄÚµå(Ãâó: MSDN Library)

»ùÇÃÄڵ带 »ìÆìº¸¸é BatchUpdate¿¡ DataTable°ú ¹èÄ¡ »çÀÌÁ ByVal·Î Àü´ÞÇÏ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. Sub ³»¿¡´Â Using ºí·ÏÀ¸·Î °¨½Î Äڵ带 ÀÛ¼ºÇÏ¿´À¸¸ç (Using¿¡ ´ëÇØ¼­´Â "VB.NET 2005, »ý»ê¼º°ú ¼º´ÉÀÌ Çâ»óµÇ´Â Àϰö°¡Áö ±â´É" Ä®·³¿¡ ¼Ò°³ÇÏ¿´´Ù) ºí·Ï ¾È¿¡ DataAdapter¸¦ »ý¼º ÈÄ ÇÏ´Ü¿¡ °¢°¢ Update, Insert, Delete Command ¸¦ ÀÛ¼ºÇÏ¿´´Ù. ±× ÈÄ DataAdapterÀÇ UpdateBatchSize¿¡ Àü´ÞµÈ batchsize ¸¦ ÁöÁ¤ÇÏ¿© Update 󸮸¦ ÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌó·³ ¹èÄ¡ ¾÷µ¥ÀÌÆ®¸¦ »ç¿ëÇÏ°Ô µÇ¸é ±×¸¸Å­ ³×Æ®¿öÅ©ÀÇ ¶ó¿îµåÆ®¸³À» °¨¼Ò½Ãų ¼ö ÀÖ°Ô µÈ´Ù.

ÇÊÀÚ ½ÉÀÇÁØ´ÔÀº MCSD .NETÀ̸ç À¥Á¨¿¡¼­ °³¹ßÀÚ·Î ±Ù¹« ÁßÀÌ´Ù.
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[DDD ¨è] UI ÇÁ·ÎÅäŸÀÌÇÎ
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[Å×Å©º¸µå ½ÃÁð3]MS, ´ÑÅÙµµ À§(Wii)¿¡ 'ÃÊ´ëÇü ¾÷µ¥ÀÌÆ®'·Î ¸ÂºÒÀü [00:08:26]
±âȹ ·ùÁØ¿µ ±âÀÚ, ÁøÇà ¹ÚÀ±¹Ì, Á¦ÀÛ À¯È¸Çö PD
[CNET ¿µ¹®¹æ¼Û]3G¾ÆÀÌÆù ¸ÅÀ帶´Ù 'ºÏÀûºÏÀû'¡¦ÀϺΠ¸ÅÀå ǰ±ÍÇö»óµµ [00:01:56]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...
ÀÎÅÍ³Ý ¹ðÅ· ºê¶ó¿ìÀú´Â µû·Î ÀÖ´Ù...
´ÙÀ½ vs Á¶Áßµ¿, Á¤¸éÃæµ¹·Î Ä¡...
ÆÃÅ©¿þ¾î, ¾ÆÀ̳ªºñ 7¿ù ¾÷µ¥ÀÌÆ®...
Çѱ¹IBM, 23ÀÏ 'ºò±×¸°2.0...
ÆÇµµ¶óTV, e½ºÆ÷Ã÷ ±¹°¡´ëÇ¥ ¼±...
ÆæÅ¸½Ã½ºÅÛ, BI ¼Ö·ç¼Ç »ç¾÷ °­...
½Ã¸¸ÅØ, ³×Æ®¿öÅ© Á¢±Ù Á¦¾î CC...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.