[Áöµð³ÝÄÚ¸®¾Æ]ADO.NETÀº ¹«¾ùÀϱî? ADO.NETÀº ÁøÂ¥ ¾î·Á¿î °ÍÀϱî? ÁøÂ¥ ¼º´ÉÀÌ ¿ùµîÈ÷ ÁÁÀº °ÍÀϱî? ÁøÂ¥ °³¹ßÀÚ¿¡°Ô´Â ÆíÇÑ °ÍÀϱî? ÀÌ·± Áú¹®¿¡ ´ëÇÑ ´äÀº ¹°·Ð ¿©·¯ºÐÀÌ »ç¿ëÇØ ºÁ¾ß ¾Ë ¼ö°¡ ÀÖ´Ù. ÇÊÀÚ°¡ ³Ê¹« ÁÁ´Ù, ºü¸£´Ù. ±×·± ¾ê±âÇÒ ¼ö´Â ¾ø´Â ³ë¸©ÀÌ´Ù.
º»·ÐÀ¸·Î µé¾î°¡¼ ADO.NETÀº µÎ °¡Áö·Î ³ª´µ¾îÁú ¼ö ÀÖ´Ù. ù ¹øÂ°´Â µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» À¯ÁöÇÑ »óÅ¿¡¼ ¿ªÇÒÀ» ¼öÇàÇÏ´Â .NET Data ProviderÀÌ°í ¶Ç Çϳª´Â ±× ¹Ý´ëÀÇ °æ¿ì·Î ºñ¿¬°á ÁöÇâÀûÀÎ DataSetÀÌ´Ù. ÀÌ ±¸Á¶¸¦ °£´ÜÇÏ°Ô µµ½ÄÀûÀ¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½ ±×¸²°ú °°´Ù.

¸¹ÀÌ º» ±×¸²Àΰ¡? ¿ÀÈ£~ ¸¹ÀÌ º» ±×¸²À̶ó¸é ¹ú½á ADO.NETÀ» º¸±â À§Çؼ MSDNÀ» ã¾ÆºÃ´Ù´Â ¸»?~ ¸ÚÀïÀÌ~
À§ ±×¸²¿¡¼ º¸¸é ¾Ë ¼ö ÀÖµíÀÌ ¿ÞÂÊ¿¡ ÀÖ´Â °ÍÀº .NET Data Provider·Î ½ÇÁ¦·Î µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áÀ» À¯ÁöÇÑ Ã¤·Î ¸ðµç ÀÏÀ» ¼öÇàÇÑ´Ù. ÀÌ .NET Data Provider¿¡´Â Connection, Command, DataReader ±×¸®°í DataAdapter Ŭ·¡½º°¡ ÀÖ´Ù. ÀÌ µé °¢°¢ÀÇ Å¬·¡½º´Â ÀÌÀü¿¡ »ç¿ëµÇ¾ú´ø ADO ¿¡¼ÀÇ Å¬·¡½ºµé°ú ¸Å¿ì À¯»çÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ±×·³ .NET Data Provider¿¡ ´ëÇØ¼ °£·«ÇϰԳª¸¶ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.
.NET Data Provider
À§¿¡¼ .NET Data Provider´Â µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» À¯ÁöÇÏ¸é¼ ¸ðµç ÀÏÀ» ÇÏ´Â °ÍÀ̶ó°í Çß½À´Ï´Ù. µû¶ó¼ .NET Data Provider´Â µ¥ÀÌÅͺ£À̽º°¡ ¹«¾ùÀ̳Ĵ °ÍÀÌ Áß¿äÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ·± µ¥ÀÌÅͺ£À̽ºÀÇ Á¾·ù¿¡ µû¶ó¼ Sql ¼¹ö¿ë°ú OLE DB µ¥ÀÌÅÍ ¿ë, ±×¸®°í ODBC¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¼¼ °³ÀÇ ³×ÀÓ½ºÆäÀ̽º¸¦ Á¦°øÇϰí ÀÖ´Ù. ÀÌ ³×ÀÓ½ºÆäÀ̽ºµéÀº System.Data ³×ÀÓ½ºÆäÀ̽º¿¡ ¼ÓÇØ ÀÖ°í, ÀÌ ³×ÀÓ½ºÆäÀ̽ºµéÀ» »ç¿ëÇÏ·Á¸é System.Data ÇϺÎÀÇ °¢°¢ÀÇ ³×ÀÓ½ºÆäÀ̽º¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ( ¿¹, using System.Data.SqlClient ) .NET Data Provider´Â À§ ±×¸²¿¡¼ º¼ ¼ö ÀÖµíÀÌ ´ÙÀ½ÀÇ 4°³ÀÇ Å¬·¡½º·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.
Connection
Connection Ŭ·¡½º´Â µ¥ÀÌÅͺ£À̽º¿Í Ŭ¶óÀÌ¾ðÆ®¸¦ ¿¬°áÇØÁشٴ Àǹ̿¡¼ ±âÁ¸ÀÇ ADOÀÇ Connection Ŭ·¡½º¿Í ¸Å¿ì À¯»çÇÏ´Ù. ÀÌ Å¬·¡½ºÀÇ ¿ªÇÒÀº ConnectionString¿¡ ÀÇÇØ¼ µ¥ÀÌÅͺ£À̽º¿¡ Á¢±ÙÇØ¼ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» ¿°í, ´Ý´Â ¸Þ¼µå¸¦ Á¦°øÇÑ´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ë Áß¿¡ µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÒ ¼öµµ ÀÖ´Â ¸Þ¼µå¸¦ Á¦°øÇÏ´Â µî ±âÁ¸ÀÇ Connectionº¸´Ù´Â ¾ÈÁ¤ÀûÀÌ°í ´Ù¾çÇÑ ¸Þ¼µå¸¦ Á¦°øÇϰí ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Â÷ÈÄ¿¡ ´Ù·çµµ·Ï ÇϰڴÙ.
Command
Command Ŭ·¡½º ¿ª½Ã Äõ¸®¹®À» ½ÇÇàÇÑ´Ù´Â Á¡¿¡¼ ADOÀÇ Command Ŭ·¡½º¿Í À¯»çÇÑ´Ù. ÀÌ Å¬·¡½ºÀÇ ¿ªÇÒÀº ¿¬°áµÇ¾îÀÖ´Â Connection Ŭ·¡½º ¾È¿¡¼ Insert, Update, Delete¿Í °°Àº ·¹Äڵ带 º¯°æÇÏ´Â Àϰú DataReader Ŭ·¡½º¿¡ ·¹Äڵ带 ¹ÝȯÇÏ´Â Àϵé·Î ¿ä¾àµÉ ¼ö ÀÖ´Ù. ¶ÇÇÑ Parameters Ä÷º¼Ç°ú ÇÔ²² »ç¿ëµÇ¾î¼ ÀúÀå ÇÁ·Î½ÃÀú³ª ¸Å°³º¯¼ö¸¦ ÇÊ¿ä·Î ÇÏ´Â Äõ¸®¹®À» ½ÇÇàÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÑ´Ù.
DataReader
DataReader Ŭ·¡½º´Â Àбâ Àü¿ë(read-only)°ú ÀüÁø Àü¿ë(forward-only)¸¸ Á¦°øÇÏ´Â ADOÀÇ RecordSet Ŭ·¡½º¿Í À¯»çÇÏ´Ù. µû¶ó¼ DataReader´Â ·¹Äڵ带 Àдٰ¡ ÀÌÀü ȤÀº Á¦ÀÏ Ã³À½ÀÇ ·¹ÄÚµå·Î °¥ ¼ö ¾øÀ¸¸ç, µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â ÀÏ ¶ÇÇÑ ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇÏÁö¸¸ Àбâ Àü¿ë(read-only)°ú ÀüÁø Àü¿ë(forward-only)À» »ç¿ëÇÔÀ¸·Î½á °¡Àå ºü¸£°Ô µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ DataReaderÀÇ °¡Àå Å« °Á¡À̶ó°í ÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¼ö ÀÖ´Â ¼Óµµ°¡ ºñ±³Àû ´À¸° À¥ ȯ°æ¿¡ ¾Ë¸Â°Ô ¼³°èµÈ Ŭ·¡½º¶ó°í ÇÒ ¼ö ÀÖ´Ù.
DataAdapter
À§ ±×¸²¿¡¼ º¸¸é .NET Data ProviderÀÇ ³ª¸ÓÁö ¼¼ °³ÀÇ Å¬·¡½º¿Í´Â ´Ù¸£°Ô DataAdapter Ŭ·¡½º´Â DataSet Ŭ·¡½º¿Í ¿¬°áµÇ¾î ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. DataSet Ŭ·¡½º´Â ºñ¿¬°á ÁöÇâÀûÀΠŬ·¡½ºÀ̹ǷΠµ¥ÀÌÅÍ ¿øº»°ú´Â ÀüÇô »ó°ü¾øÀÌ ¿ªÇÒÀ» ¼öÇàÇÑ´Ù. µû¶ó¼ ÀÌ DataSet Ŭ·¡½º¿Í µ¥ÀÌÅÍ ¿øº»°úÀÇ ´Ù¸® ¿ªÇÒÀ» ÇØ¼ Ŭ¶óÀÌ¾ðÆ®°¡ ¼öÇàÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ º¯°æÀÛ¾÷À» ÀÌ DataAdapter Ŭ·¡½º°¡ ¸Ã¾Æ¼ ÇÑ´Ù. ¶ÇÇÑ ±×¸²¿¡¼ º¸¸é SelectCommand, InsertCommand, UpdateCommand, DeleteCommand °¡ Àִµ¥ À̰͵éÀº DataAdapter Ŭ·¡½º¿¡ ÀÖ´Â ÇÁ·ÎÆÛƼÀÌ´Ù. ÀÌ ÇÁ·ÎÆÛƼµéÀº Command ÇüÀÌ°í °¢°¢ÀÇ Äõ¸®¹®¸¶´Ù ÀûÀýÇÑ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
DataSet
DataSetÀº ¾Õ¿¡¼ °£·«ÇÏ°Ô ¾ð±ÞÇßµíÀÌ ºñ¿¬°á ÁöÇâÀûÀÎ µ¥ÀÌÅÍ Å¬·¡½ºÀÌ´Ù. µ¥ÀÌÅͺ£À̽º¿¡¼ ·¹Äڵ带 °¡Á®¿Â´Ù´Â Á¡Àº ±âÁ¸ÀÇ ADOÀÇ RecordSet°ú ºñ½ÁÇÏÁö¸¸ ·¹Äڵ带 °¡Á®¿Â ÈÄ¿¡ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» ²÷¾î¹ö¸°´Ù´Â Á¡ÀÌ ´Ù¸£´Ù. »ç½Ç ´õ Á¤È®È÷ ¸»ÇÏÀÚ¸é DataAdapter Ŭ·¡½º°¡ ·¹Äڵ带 °¡Á®¿Í¼ DataSet¿¡ ·¹Äڵ带 Àü´ÞÇØ ÁÖ°í ¿¬°áÀ» ²÷¾î¹ö¸°´Ù´Â °ÍÀÌ´Ù. ¶Ç ÀÌ·¸°Ô °¡Á®¿Â ·¹ÄÚµå´Â XML ¹®¼ Çü½ÄÀ¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ ¸Þ¸ð¸®¿¡ ´ã¾ÆµÎ°í ó¸®Çϴµ¥, ÀÌ·± ÀÌÀ¯¿¡¼ DataSetÀº µ¥ÀÌÅÍ ¿øº»ÀÌ ¹«¾ùÀÎÁö ¸ð¸£¸ç ¾Ë ÀÌÀ¯µµ ¾ø´Â °ÍÀÌ´Ù.
ÀÌ´Â ´Ù½Ã ¸»ÇÏÀÚ¸é .NET Data Provider´Â µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áµÈ »óÅ¿¡¼ ¸ðµç ÀÏÀ» Çϱ⠶§¹®¿¡ µ¥ÀÌÅͺ£À̽ºÀÇ Á¾·ù¿¡ µû¶ó¼ ³×ÀÓ½ºÆäÀ̽º°¡ ´Ù¸£Áö¸¸ DataSetÀÇ °æ¿ì´Â µ¥ÀÌÅͺ£À̽º°¡ ¹«¾ùÀÎÁö ÀüÇô »ó°ü¾øÀ¸¹Ç·Î À¯ÀÏÇÑ DataSet Ŭ·¡½º Çϳª·Î¸¸ ÀÏÀ» ¼öÇàÇÑ´Ù. ¶Ç, XML ¹®¼ Çü½ÄÀ¸·Î ó¸®ÇϹǷΠµ¥ÀÌÅͺ£À̽º°¡ ¾Æ´Ñ °Í(À¥ ¼ºñ½º»ó¿¡¼ ³Ñ¾î¿Â XML ¹®¼)µµ µ¥ÀÌÅͺ£À̽ºÀÇ Å×À̺íÀ» ó¸®ÇϵíÀÌ XML ¹®¼¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
À§ÀÇ ±×¸²¿¡¼ º¸¸é DataSet ¿¡´Â DataTableÀÌ ÀÖ°í ±× ¾È¿¡´Â DataRow, DataColumn, Constraint°¡ ÀÖ´Ù. ¶Ç, °¢°¢ÀÇ DataTable°£ÀÇ °ü°è¸¦ Á¤ÇØÁÖ´Â DataRelationÀÌ ÀÖ´Ù. ÀÚ¼¼È÷ µé¿©´Ùº¸¸é µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Á¶¿Í ºñ½ÁÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±âÁ¸ÀÇ ADO¸¦ »ç¿ëÇÏ´ø °³¹ßÀÚÀÇ °æ¿ì´Â ¹«¾ùÀΰ¡ Á» ´Ù¸£´Ù´Â °ÍÀ» ´À³¥ °ÍÀÌ´Ù. ¹Ù·Î Å×À̺íÀÌ ¿©·¯ °³ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.
¿ì¼±Àº ¿©±â±îÁö Çϵµ·Ï ÇϰڴÙ. ´ÙÀ½ °Á¿¡¼´Â ½ÇÁ¦·Î À§ÀÇ Å¬·¡½ºµéÀ» ÀÌ¿ëÇØ¼ ½ºÅä¾îµå ÇÁ·Î½ÃÀú¿Í ´Ù½Ã Çѹø ¸¸³ªº¸µµ·Ï ÇϰڴÙ. @