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

±èÀÍÁß (³×¿ÀÀ§Áî)   2004/10/22
¿¬Àç¼ø¼­
1ȸ. ·ÎÄà Àü¿ë Á¦Æ® ¿£Áø DAO
2ȸ. DB´Â ´Þ¶óµµ ´Ù¸®´Â Çϳª ODBC
3ȸ. ¸ðµç °ÍÀº OLE·Î 'OLE-DB' <³¡>
[Áöµð³ÝÄÚ¸®¾Æ]¿¢¼¼½º¿Í DAO¸¦ ÅëÇØ ·ÎÄÃÀÇ DB¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» Áö³­ ±Û¿¡¼­ ´Ù·ð½À´Ï´Ù. ÇÏÁö¸¸ °ÅÀÇ ´ëºÎºÐ DBMS¿Í µ¥ÀÌÅͺ£À̽º Á¢±Ù Ŭ¶óÀÌ¾ðÆ®´Â ¹°¸®ÀûÀ¸·Î ¶³¾îÁ® ÀÖ´Â °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù. ¶³¾îÁø DBMS¿¡ ¾î¶»°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ»±î¿ä? ±×°ÍÀ» À§ÇØ ODBC¶ó´Â ´Ù¸®(ºê¸´Áö, bridge)°¡ Á¸ÀçÇÕ´Ï´Ù. ODBC´Â µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö ¿ª»ç¿¡¼­ ¾ÆÁÖ Áß¿äÇÑ ¿ªÇÒÀ» ÇÕ´Ï´Ù.

DAO¸¦ ¸Àº¸±â À§ÇØ CDaoRecordset Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ °£´ÜÇÑ ÀϱâÀåÀ» ±¸ÇöÇØ º¸¾Ò½À´Ï´Ù. »ç½Ç DAO¿¡´Â ÀϱâÀå ¿¹Á¦¿¡¼­ ´Ù·çÁö ¸øÇÑ ´Ù¾çÇÑ ±â´ÉµéÀÌ µé¾î ÀÖÁö¸¸ Áö¸éÀÇ ÇѰè¿Í Çö½ÇÀûÀÎ Ãø¸éÀ» ¹Ù¶óº»´Ù¸é ODBC³ª OLE-DB¿¡¼­ ¸ø´ÙÇÑ ±â´ÉµéÀ» »ìÆìº¸´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. À̹ø È£¿¡¼­´Â CRecordsetÀ̶ó´Â Ŭ·¡½º°¡ ¸ÍȰ¾àÀ» ÇÒ °ÍÀÔ´Ï´Ù. ¸ÕÀú ODBC¿¡ ´ëÇØ ¾Ë¾Æº¸±â·Î ÇÏÁÒ. ODBC´Â 90³â´ë ÁßÈĹݿ¡ ³ªÅ¸³­ ²Ï³ª ¿À·¡µÈ ±â¼úÀÌÁö¸¸ µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö¿¡ À־ ȹ±âÀûÀÎ °³³äÀ̾ú½À´Ï´Ù.

DB¿¡ ´ëÇÑ ÂªÀº ¿ª»ç
¾ÏÈ£ ÇØµ¶, ÅºÂøÁ¡ °è»ê, ¼¼±Ý °è»ê µî ÀÌ·¯ÇÑ °ÍµéÀº ÄÄÇ»ÅͰ¡ ¹ß¸íµÇ±â À§ÇÑ ÀÌÀ¯¿´½À´Ï´Ù. ±×¸®°í ÄÄÇ»ÅÍ´Â µÎ °¡Áö ³î¶ó¿î ´É·ÂÀÌ ÀÖÁö¿ä. Çϳª´Â ´Ü¼ø ¹Ýº¹ ÀÛ¾÷À» ¾öû³ª°Ô ºü¸£°Ô ¼öÇàÇÑ´Ù´Â Á¡ÀÌ¸ç ´Ù¸¥ ÇÑ °¡Áö´Â Àü±â°¡ ²÷±âÁö ¾ÊÀº ÇÑ Àؾî¹ö¸®Áö ¾Ê°í °è¼Ó ±â¾ïÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù(¿ª½Ã ÄÄÇ»ÅÍÀÇ º»ÁúÀº ÇÔ¼ö¿Í º¯¼ö·Î ³ª´²Áö³×¿ä). ÀÌ·¸°Ô Àؾî¹ö¸®Áö ¾Ê°í °è¼Ó ±â¾ïÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀº ¿ÜºÎ ±â¾ïÀåÄ¡ÀÇ ¹ßÀü°ú ÇÔ²² ¡®´ë¿ë·® ±â¾ï ±â°è¡¯·Î Àçź»ýÇÕ´Ï´Ù. ¹Ù·Î µ¥ÀÌÅͺ£À̽ºÀÇ Åº»ýÀÌÁÒ.

ÇÏÁö¸¸ ºÒ°ú ¸î ½Ê ³â Àü¸¸ ÇØµµ ÄÄÇ»ÅÍ(PC°¡ ¾Æ´Õ´Ï´Ù)´Â ¾Æ¹«³ª ¸¸Áú ¼ö ÀÖ´Â ¹°°ÇÀÌ ¾Æ´Ï¾ú½À´Ï´Ù. 1960³â´ë ¸»¿¡ À̸£·¯ óÀ½À¸·Î ¡®µ¥ÀÌÅͺ£À̽º¡¯¶õ ¿ë¾î°¡ ¡®ÇÑ Á¶Á÷ÀÇ ÀÀ¿ë ½Ã½ºÅÛµéÀÌ °ø¿ë(shared)Çϱâ À§ÇØ ÅëÇÕ(integrated), ÀúÀå(stored)ÇÑ ¿î¿µ(operational) µ¥ÀÌÅÍÀÇ ÁýÇÕ¡¯À̶õ °³³äÀ¸·Î Á¤Àǵǰí, °ð ÀÌ¾î µ¥ÀÌŸº£À̽º¸¦ °ü¸®Çϱâ À§ÇÑ ½Ã½ºÅÛÀÎ DBMS°¡ ³ªÅ¸³ª°Ô µË´Ï´Ù.

»ó¿ë °ü°èÇü DBMS, ¿À¶óŬÀÇ Åº»ý
1970³â´ë¿¡ À̸£·¯ ÄÄÇ»ÅÍ´Â Á» ´õ ´ëÁßÈ­µÇ¾ú½À´Ï´Ù. DB ¿ª»ç¿¡¼­ 70³â´ë°¡ Áß¿äÇÑ ÀÌÀ¯´Â 1978³â¿¡ ù ¹øÂ° °ü°èÇü µ¥ÀÌÅͺ£À̽º Á¦Ç°ÀÎ ¿À¶óŬ 1ÀÌ ÃâÇöÇ߱⠶§¹®ÀÔ´Ï´Ù. ±× ÀÌÀü¿¡´Â 1960³â´ë¿¡ °³¹ßµÈ IBM°ú ÀÎÅÚÀÇ °èÃþÇü µ¥ÀÌÅͺ£À̽º°¡ ÁÖ·ù¿´½À´Ï´Ù. ¡®¿À¶óŬ(Oracle)¡¯Àº °í´ëÀÇ ½ÅÀÇ ½ÅŹÀ» ¹Þ´Â ½Å°ü¸¦ ÀǹÌÇϴµ¥ Á¤¸» ½ÅÀÇ °è½Ã¸¦ ¹ÞÀº °Íó·³ ´ë´ÜÈ÷ ³ôÀº Àα⸦ ²ø¾ú½À´Ï´Ù. ¿©±â¼­ Áß¿äÇÑ Á¡Àº ¿À¶óŬÀº ÃÖÃÊÀÇ »ó¿ë °ü°èÇü DBMS¶õ Á¡ÀÔ´Ï´Ù.

ÇѸ¶µð·Î Çö´ëÀû ÀǹÌÀÇ DBMS(DataBase Management System)À» º¸Åë »ç¶÷µéÀÌ ¸¸Á®º¼ ±âȸ´Â ¿À¶óŬÀÌ Ã³À½À̾ú½À´Ï´Ù. 1970¢¦80³â´ë¿¡ »ç¼³ DBMS·Î ±â¾÷ Àü»ê¸ÁÀ» °®Ã߱Ⱑ ¾î·Á¿ü½À´Ï´Ù. ¹Ù·Î ÀÌÁ¡¿¡¼­ ¿À´Ã³¯±îÁöµµ ¿À¶óŬÀÌ ³ôÀº ÀÎÁöµµ¸¦ °¡Áö´Â ÀÌÀ¯ÀÔ´Ï´Ù. Ä£±¸µéÀÇ ÀüÈ­¹øÈ£Á¶Â÷ ´ÙÀ̾³ª ¼öø¿¡ ¸î ¸í Àû±â ½ÃÀÛÇÏ¸é µµÀúÈ÷ ´Ù¸¥ ¼öøÀ¸·Î ¿Å°Ü ÀûÀ» ¼ö ¾ø½À´Ï´Ù. ¿Å±â±â ±ÍÂú°í ¿Å±â´Ù°¡ »ç°í·Î µ¥ÀÌÅ͸¦ À¯½ÇÇÒ ¼öµµ ÀÖÀ¸´Ï±î¿ä. °íÀÛ Ä£±¸µéÀÇ ÀüÈ­¹øÈ£¸¦ ´Ù¸¥ ¼öø¿¡ ¿Å±â±âµµ Èûµçµ¥ ±â¾÷ÀÇ ¸î ½Ê³â µÈ Á¤º¸µéÀ» ¾î¶»°Ô ´Ù¸¥ °÷À¸·Î ¸¶À̱׷¹À̼Ç(migration)ÇÒ ¼ö ÀÖÀ»±î¿ä.

¹Ù·Î ÀÌÁ¡¿¡¼­ ÇϳªÀÇ º¥´õ°¡ °ø±ÞÇÏ´Â DBMSÀÇ ¹«¼­¿òÀ» ´À³¥ ¼ö ÀÖ½À´Ï´Ù. ÃÊâ±âÀÇ Æ¯Á¤ DBMS·Î °áÁ¤ÇÑ´Ù¸é ÃßÈÄ ´Ù¸¥ DBMS·ÎÀÇ ¸¶À̱׷¹À̼ÇÀº »ç½Ç»ó ºÒ°¡´É¿¡ °¡±î¿ï Á¤µµÀÔ´Ï´Ù. ±×¸®°í ÃÊâ±â ºñÁî´Ï½º ·ÎÁ÷¿¡ ¸ÂÃç³õÀº DB ¼³°è¸¦ »õ·ÎÀÌ Æ©´×ÇѴٵ簡 º¯°æÇÑ´Ù´Â °Íµµ ³Ê¹«³ª Èûµì´Ï´Ù. ¹æ±Ý ¡®ºÒ°¡´É¿¡ °¡±õ´Ù¡¯, ¡®³Ê¹«³ª Èûµé´Ù¡¯°í À̾߱âÇßÁÒ? ±×·± ÀÛ¾÷µéÀ» À§ÇØ ¼ö¸¹Àº ±â¼ú°ú ÅøµéÀÌ ¹ßÀüµÇ¾î ÀÖÀ¸¸ç DBA¸¦ ²Þ²Ù´Â °³¹ßÀÚ¶ó¸é ´«¿©°Ü º¼¸¸ÇÑ ºÐ¾ßÀÔ´Ï´Ù.

DBMSÀÇ °³ÀÎÈ­ dBase ¥²+, Fox Pro
¿À¶óŬ·Î ÀÎÇØ »ç¿ëÀÚ´Â Å͹̳ÎÀ» ÀÌ¿ëÇØ ¿À¶óŬÀÌ ¼³Ä¡µÈ À¯´Ð½º È£½ºÆ®¸¦ ÀÌ¿ëÇß½À´Ï´Ù(70³â´ë¶ó¸é ¾ÆÁ÷ PC°¡ ³ª¿ÀÁö ¾Ê¾Ò´ø ½Ã±âÀÔ´Ï´Ù). ±×·¯³ª Â÷Ãû È£½ºÆ®/Å͹̳Π¹æ½Ä¿¡¼­ °³ÀÎ »ç¿ëÀÚ¸¦ À§ÇÑ PC ȯ°æÀ¸·Î º¯Çذ©´Ï´Ù. PCÀÇ ÃâÇö ¿ª½Ã DB ¿ª»ç¿¡¼­ Áß¿äÇÑ Àǹ̸¦ °¡Áý´Ï´Ù. ¾ÖÇÃÀ̳ª MSX¿Í °°Àº 8ºñÆ® PC(¡®Personal Computer¡¯ÀÇ ¾àÀÚÀÌÁö¸¸ IBMÀÇ »óǰ¸íÀ̱⵵ ÇÕ´Ï´Ù)¿¡µµ °³ÀÎ »ç¿ëÀÚ¸¦ À§ÇÑ DBMS°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¸Þ¸ð¸®¿Í CPUÀÇ ÇѰè·Î º£ÀÌÁ÷À¸·Î ¸¸µç ¡®ÁÖ¼Ò·Ï¡¯¿¡ ºÒ°úÇß½À´Ï´Ù.

±×·¯³ª IBM-PC/XT´Â ¹«·Á 640KB³ª µÇ´Â ±¤´ëÇÑ Áָ޸𸮸¦ °®°í ÀÖ¾úÀ¸¸ç Ãʰ­·Â 8088 CPU´Â ¹«·Á 4.77 MHz(±â°¡ Ç츣Âê°¡ ¾Æ´Õ´Ï´Ù)³ª µÇ´Â ³î¶ó¿î ¼Ó·ÂÀ» °®°í ÀÖ¾ú½À´Ï´Ù. Á¤¸»·Î XT, ±×¸®°í ÇöÀç PCÀÇ Àü½ÅÀº °³Àοë DBMS¿Í ½ºÇÁ·¹Æ® ½ÃÆ®¸¸À» À§ÇØ ³ª¿Â ¾÷¹« Àü¿ë±âÀÔ´Ï´Ù. ¿ÀÁ×ÇÏ¸é ±×·¡ÇÈ ¸ðµå¶õ °ÍÀÌ »ç½ÇÀº ºÒ°¡´ÉÇßÀ» Á¤µµ¿´À¸´Ï±î¿ä.

ÇÏÁö¸¸ XT´Â °³ÀÎ ¾÷¹«¸¦ È®½ÇÇÏ°Ô ¸Ã°ÜµÑ ¼ö ÀÖ´Â ²ÞÀÇ °³Àοë ÄÄÇ»ÅÍ¿´°í, DBMSµµ °³Àοë ÄÄÇ»ÅÍ¿¡ °É¸Â´Â  DBMS·Î »õ·Ó°Ô ³ªÅ¸³³´Ï´Ù. ÀÌ ½Ã´ë¿¡ °¡Àå »ç¶û¹Þ¾Ò´ø DBMS´Â ¹Ù·Î dBase ½Ã¸®Áî¿Í Fox ProÀÔ´Ï´Ù. Áö±ÝÀÇ °üÁ¡À¸·Î º»´Ù¸é ¿ø½ÃÀûÀÎ ½Ã½ºÅÛÀÌÁö¸¸ ´ëÇü À¯´Ð½º È£½ºÆ®¿¡¼­¸¸ °¡´ÉÇß´ø DBMS¸¦ °³ÀÎÀÌ °¡Áú ¼ö ÀÖ°Ô µÈ °ÍÀÔ´Ï´Ù.

±×·¯³ª À̶§¿¡´Â Ä¡¸íÀûÀÎ ¹®Á¦°¡ Àִµ¥ DBMS¿Í ÇÁ·Î±×·¥ÀÌ ºÐ¸®µÇÁö ¾Ê¾Ò´Ù´Â »ç½ÇÀÔ´Ï´Ù. Áï dBase³ª Fox Pro°°Àº DBMS´Â DBÀ̸鼭 µ¿½Ã¿¡ ÀÚü ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °¡Áö°í ÀÖ¾ú½À´Ï´Ù. ÇØ´ç DBMS·Î ¸¸µç DB¸¦ ÀÌ¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã DBMS º»Ã¼±îÁö ÀÖ¾î¾ß¸¸ Çß½À´Ï´Ù. ÇÏÁö¸¸ ±×·¯ÇÑ ¾àÁ¡ ´öºÐ¿¡ ÃßÈÄ¿¡ ³ª¿Â Ŭ¸®ÆÛ(Clipper)¶ó´Â ÇÁ·Î±×·¥ÀÌ Àα⸦ ¾ò¾ú½À´Ï´Ù. dBase³ª Fox Pro·Î ¸¸µç DB¸¦ ÀÌ¿ëÇØ EXE ÆÄÀÏ, Áï µ¶¸³Çü ÇÁ·Î±×·¥À¸·Î ÄÄÆÄÀÏÇØÁÖ´Â ¿ªÇÒÀ» Çß½À´Ï´Ù. ±×·¯³ª Ŭ¸®ÆÛ ¿ª½Ã ÇöÀç¿Í °°Àº DBMS¿Í ¾ÖÇø®ÄÉÀ̼ǰ£ÀÇ ¼­¹ö/Ŭ¶óÀÌ¾ðÆ® °³³äÀº ¾Æ´Õ´Ï´Ù. ±×·¸´Ù ÇÏ´õ¶óµµ ÀÌ ½ÃÀýÀ» À̲ø¾ú´ø ÇÁ·Î±×·¥µéÀº ÇöÀç¿Í °°Àº ȯ°æÀ» À§ÇÑ ±â¹ÝÀ» ´ÙÁ®ÁÖ¾ú½À´Ï´Ù. À©µµ¿ì ½Ã½ºÅÛ Æú´õ¿¡ ÀÖ´Â moricon.dllÀ̶õ ¸®¼Ò½º DLLÀ» »ìÆìº¸¸é ¾ÆÁ÷µµ ±× ¶§ÀÇ ÇÁ·Î±×·¥µéÀ» À§ÇÑ ¾ÆÀÌÄܵéÀÌ 21¼¼±â¿¡µµ °í½º¶õÈ÷ Á¸ÀçÇϰí ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

90³â´ë ºñÁî´Ï½ºÀÇ Áß½É, DBMS
DOS¿¡¼­ À©µµ¿ì·ÎÀÇ ¹ßÀü, ±×¸®°í TCP/IP¸¦ Áß½ÉÀ¸·Î ÇÑ C/SÀÇ ¹ßÀü, ´õ ¸·°­ÇØÁø Çϵå¿þ¾î¿Í ´«ºÎ½Ã°Ô ¼ºÀåÇÑ DBMS´Â ¸ðµç ÇÁ·ÎÁ§Æ®ÀÇ Á߽ɿ¡ DBMS¸¦ µÎ°Ô µÇ¾ú½À´Ï´Ù. ¿À¶óŬ°ú MSÀÇ SQL ¼­¹ö´Â ³î¶øµµ·Ï ¹ßÀüÇØ Á¾·¡ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Ã´ø ÀڷᱸÁ¶±îÁöµµ DBMS°¡ ¸Ã°Ô µÇ¾ú½À´Ï´Ù. ÀÌÁ¦ºÎÅÍ ¿©±â¼­ Áß½ÉÀÌ µÇ´Â µ¥ÀÌÅͺ£À̽º Á¢¼Ó °³³äÀÌ »ý°Ü³³´Ï´Ù.  

¸¸¾à A¶ó´Â DBMS¸¦ ÀÌ¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾ú´Ù°í °¡Á¤ÇսôÙ. A¶ó´Â DBMS¿¡ Á¢¼ÓÇϱâ À§Çؼ­´Â ´ç¿¬È÷ A¸¦ ¸¸µç º¥´õ¿¡¼­ Á¦°øÇÏ´Â ¹æ¹ýÀ» ÁؼöÇØ¾ß ÇÕ´Ï´Ù. ±×·±µ¥ ¾î¶² ÀÌÀ¯·Î ÇÁ·Î±×·¥ÀÇ ´ÙÀ½ ¹öÀü¿¡¼­ B¶ó´Â DBMS¸¦ ÀÌ¿ëÇÏ°Ô µÇ¾ú½À´Ï´Ù. ºÐ¸í DBMS¸¸ ¹Ù²Ù´Â °ÍÀÌÁö¸¸ ¾ÖÇø®ÄÉÀ̼ǵµ »ó´ç ºÎºÐ ¶â¾î°íÃÄ¾ß ÇÕ´Ï´Ù. A¿¡ Á¢¼ÓÇϱâ À§ÇÑ ·çƾµéÀ» ¸ðÁ¶¸® B¿¡ Á¢¼ÓÇϱâ À§ÇÑ ·çƾÀ¸·Î ¹Ù²Ù¾î¾ß ÇÏÁÒ. ±×·± ºÒÇÕ¸®ÇÑ ¸éÀ» À§ÇØ MS´Â UDA(Universal Data Access)¶ó´Â ¹æ¹ýÀ» °³¹ßÇß½À´Ï´Ù.

UDA´Â DBMS Á¾·ù¿¡ µ¶¸³ÀûÀ¸·Î ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼ö ÀÖ°Ô ÇÑ ¹æ¹ýÀ̸ç ADO(ActiveX Database Object), OLE-DB, ODBC(Open Database Connectivity) µîÀÌ ´ëÇ¥ÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù. UDA ¸ðµ¨À» ÀÌ¿ëÇÏ¸é °³¹ßÀÚ´Â ÇØ´ç DBMS¸¦ Á÷Á¢ Á¶ÀÛÇÏ´Â °ÍÀÌ ¾Æ´Ñ UDA °èÃþ¿¡¼­ Á¦°øÇØÁÖ´Â ¸Þ½îµå·Î ƯÁ¤ DBMS¿¡ °ü°è¾øÀÌ ÀÛ¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¾ó¸¶³ª ¸ÚÁø °³³äÀԴϱî? UDA ´öºÐ¿¡ DBMS¸¦ ¹Ù²Ù´õ¶óµµ ¾ÖÇø®ÄÉÀ̼ÇÀº Äڵ带 ¼öÁ¤ÇÒ ÀÏÀÌ »ç¶óÁø °ÍÀÔ´Ï´Ù. ¿ì¸° UDA Áß¿¡¼­ VC++¿¡¼­ Á¦°øÇØÁÖ´Â ODBC¿Í OLE-DB¸¦ ÀÌ¿ëÇØº¼±î ÇÕ´Ï´Ù.

¶ÇÇÑ ±â¾ïÇÒ °ÍÀº UDA´Â ¾îµð±îÁö³ª 2-Ƽ¾î ¹æ½ÄÀÔ´Ï´Ù. Áï ODBC³ª OLE-DB°¡ ÇÑ °èÃþÀÌ ¾Æ´Ñ ¾ÖÇø®ÄÉÀ̼ǰú DBMS »çÀÌÀÇ ´Ù¸®(Bridge) ¿ªÇÒ¸¸ ÇÏ´Â °ÍÀÔ´Ï´Ù. MTS(Microsoft Transaction Server, ±¸¼º ¿ä¼Ò ¼­ºñ½º)¸¦ ÀÌ¿ëÇϸé 3-Ƽ¾î ¹æ½ÄÀ¸·Î ¾ÖÇø®ÄÉÀ̼ǰú DBMS »çÀÌ¿¡ ¹Ìµé¿þ¾î¸¦ µÑ ¼ö ÀÖ½À´Ï´Ù(À̰ÍÀÌ ¹Ù·Î DNA 2000ÀÔ´Ï´Ù). ÀÌ´Â ¼º´É°ú ¾ÈÁ¤¼ºÀ» À§ÇÑ ¹æ¹ýÀ¸·Î MS °è¿­·Î ³ª°¡±â À§ÇÑ °³¹ßÀÚ¶ó¸é MTS¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ®¸¦ ÇØº¸´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¾Æ½±°Ôµµ ÀÌ ºÎºÐÀº MFC¸¦ ÀÌ¿ëÇÑ ÀÌ °­ÁÂÀÇ ¼öÁØÀ» ³Ñ´Â ºÎºÐÀ̹ǷΠ¾ÕÀ¸·Î °øºÎÇØ¾ß ÇÒ ºÎºÐÀ¸·Î ³²°ÜµÓ´Ï´Ù. °¡²û ODBC³ª JDBC(ÀÚ¹Ù)¸¦ MTS¿Í °°Àº ÇϳªÀÇ °èÃþÀ¸·Î Âø°¢ÇÏ´Â µ¶ÀÚµµ Àִµ¥ ODBC, JDBC´Â ¿¬°á ºê¸®ÁöÀÏ »ÓÀ̸ç Àý´ë ÇϳªÀÇ °èÃþÀº ¾Æ´Õ´Ï´Ù.

<±×¸² 1> ODBCÀÇ ¿ªÇÒ

¸ðµÎ ½¬°í ÀÖÀ» ÀÏ¿äÀÏ ¿ÀÈÄ, °³¹ß½Ç¿¡ È¥ÀÚ ÄÑÁø PC°¡ ÀÖ¾úÀ¸´Ï ¹Ù·Î ·¹¾Æ±ºÀÇ ÀÚ¸®¿´½À´Ï´Ù. À¯³ªÀÇ Äڵ忡¼­ ½½Â½ ÈÉÃÄ(?) Àû¾î µÐ SQL ¼­¹öÀÇ IP¿Í ·Î±×ÀÎ °èÁ¤À» ¼Õ¿¡ ³ÖÀº ·¹¾Æ±ºÀº Áö³­ ´Þ ¸¸µé¾ú´ø ÀϱâÀå ÇÁ·Î±×·¥ÀÇ DBMS¸¦ SQL ¼­¹ö·Î ¿Å±â°í ÀÖ¾ú½À´Ï´Ù. ODBC ºê¸´Áö »ç¿ë¹ýÀ» °Ô½ÃÆÇ¿¡¼­ ¹è¿î ·¹¾Æ±ºÀÌ IP¿Í °èÁ¤À» ¾È ÀÌ»ó °ÅÄ¥ °ÍÀÌ ¾ø½À´Ï´Ù. Âü°í·Î ÀÌ·± ÇàÀ§´Â Àý´ë µû¶óÇÏ¸é ¾ÈµË´Ï´Ù.

MS SQL ¼­¹ö·ÎÀÇ ¸¶À̱׷¹À̼Ç
¿ø·¡ DBMS¿¡ °üÇÑ ÀÏÀº ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ°¡ ¾Æ´Ñ DBA³ª DBMS¸¦ ¸ÂÀº ÆÀ¿¡¼­ °Çµå·Á¾ß ÇÒ ºÎºÐÀ̰ÚÁö¸¸ °³ÀÎ ÇÁ·ÎÁ§Æ®À̹ǷΠÇÔ²² µû¶ó°¡ º¾½Ã´Ù. À̹ø ½Ã°£ºÎÅÍ´Â ¿¢¼¼½º MDB°¡ ¾Æ´Ñ MS SQL ¼­¹ö 2000À» ÀÌ¿ëÇϰڽÀ´Ï´Ù. SQL ¼­¹ö´Â ¹«Ã´ °­·ÂÇÑ DBMS·Î À©µµ¿ì ¼­¹ö¸¦ »ç¿ëÇÏ´Â ¼­ºñ½º¶ó¸é ½ÊÁßÆÈ±¸ SQL ¼­¹ö¸¦ ÀÌ¿ëÇÕ´Ï´Ù. SQL ¼­¹ö¸¸À¸·Îµµ ³Ê¹« °øºÎÇÒ °ÍÀÌ ¸¹Áö¸¸ MFC °³¹ßÀÚ·Î ¾Ë¾ÆµÑ¸¸ÇÑ °Í¸¸ »ìÆìº¸°Ú½À´Ï´Ù. Áö³­ ½Ã°£°ú ¸¶Âù°¡Áö·Î µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇϱâ À§ÇØ Å×À̺íÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ÀÌ¹Ì MS SQL ¼­¹ö¿¡ Àͼ÷ÇÑ µ¶ÀÚ¶ó¸é Áö³­ ½Ã°£ ¸¸µé¾ú´ø Å×À̺íÀ» ¶È°°ÀÌ ¸¸µé¾îµµ µÉ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ °£´ÜÇÑ ¸¶À̱׷¹À̼ÇÀ» Á÷Á¢Çغ¸´Â °Íµµ ÁÁ°ÚÁÒ? ODBC ¿¬°áÀ» ¸¸µé¾î MDB¿¡¼­ MS SQL ¼­¹ö·Î ÀÚµ¿ÀûÀ¸·Î ¿Å±â°Ú½À´Ï´Ù.

ODBC ºê¸´Áö ¸¸µé±â
ODBC¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ODBC¿¡¼­ »õ·Î¿î ¿¬°áÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. À©µµ¿ì 9X °è¿­¿¡¼­ ÇÁ·Î±×·¡¹ÖÇÏ´Â µ¶ÀÚ¶ó¸é Á¦¾îÆÇÀ», À©µµ¿ì 2000 À̻󿡼­ ÇÁ·Î±×·¡¹ÖÀ» ÇÑ´Ù¸é ¡¸Á¦¾îÆÇ | °ü¸®µµ±¸¡¹·Î °¡º¾´Ï´Ù. °ü¸®µµ±¸ ¾È¿¡´Â ¡®µ¥ÀÌÅÍ ¿øº»(ODBC)¡¯À̶ó´Â ¾ÆÀÌÄÜÀÌ Àִµ¥ À̰ÍÀ» ÅëÇØ ODBC ¿¬°áÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. Âü°í·Î °ü¸® µµ±¸ ¾ÆÀÌÄÜ Áß °¡Àå ¾Õ¿¡ ÀÖ´Â ¡®±¸¼º ¿ä¼Ò ¼­ºñ½º¡¯°¡ ¾Õ¼­ À̾߱âÇÑ MTSÀÔ´Ï´Ù.

ODBC¸¦ ´õºíŬ¸¯ÇÑ ÈÄ ½Ã½ºÅÛ DSN ÅÇÀ» ´­·¯ ¡®Ãß°¡¡¯ ¹öưÀ» ´©¸¨´Ï´Ù. ´Ù¾çÇÑ Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º µå¶óÀ̹öµéÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. ¸ÕÀú MDB¿¡¼­ MS SQL ¼­¹ö·Î °¡Á®¿À±â À§ÇØ MDB µå¶óÀ̹ö¸¦ ÀÌ¿ëÇÏ´Â ¿¬°áÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. Áß°£¿¡ ÀÖ´Â ¡®Microsoft Access Driver( *.mdb)¡¯¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¼¼ ¹øÂ° À©µµ¿ì¿¡¼­ ¡®µ¥ÀÌÅÍ ¿øº» À̸§¡¯À» ¹¯½À´Ï´Ù. ¿¬°áÀÇ À̸§À» Áþ´Â °ÍÀÌÁÒ. ¾Æ¹« À̸§À̳ª Àû½À´Ï´Ù. ÇÊÀÚ´Â ¡®MDB_Diary¡¯¶ó°í Áö¾ú½À´Ï´Ù. ±× ´ÙÀ½ ¡®¼±Å᯿¡¼­ Áö³­ ½Ã°£ ¸¸µé¾ú´ø mdb ÆÄÀÏÀ» ¼±ÅÃÇÕ´Ï´Ù. À̰ÍÀ¸·Î ODBC ¿¬°áÀ» ¼º°øÀûÀ¸·Î ¸¸µé¾ú½À´Ï´Ù.

<È­¸é 1> ODBC ¿¬°áÀ» ¸¸µé¾ú½À´Ï´Ù.

À̰ÍÀÌ ODBC ¿¬°áÀ» ¸¸µå´Â ¹æ¹ýÀÔ´Ï´Ù. ¹«Ã´ °£´ÜÇÏÁö¿ä? ¿©±â¿¡¼­ Áß¿äÇÑ °ÍÀº »ç¿ëÇϰíÀÚ ÇÏ´Â DBMS¿¡ ¸Â´Â µå¶óÀ̹ö¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù´Â »ç½ÇÀÔ´Ï´Ù. ¶ÇÇÑ Àڽſ¡°Ô ¾ø´Â µ¥ÀÌÅͺ£À̽º µå¶óÀ̹ö¶ó¸é ÇØ´ç Á¦ÀÛ»çÀÇ È¨ÆäÀÌÁö¿¡ °¡¸é ODBC¿ë µå¶óÀ̹ö¸¦ ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ODBC ¿¬°áÀÌ ¸¸µé¾îÁø ÀÌ»ó, ¾î¶² ÇÁ·Î±×·¥ÀÌ¶óµµ ODBC¸¦ Áö¿øÇÑ´Ù¸é ÀϱâÀåÀ» À§ÇØ ¸¸µç mdb¸¦ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.

MDB¸¦ MS SQL ¼­¹ö·Î ¿Å±âÀÚ
MS SQL ¼­¹ö¸¦ »ç¿ëÇØº¸Áö ¸øÇÑ °³¹ßÀÚ¸¦ À§Çؼ­ Â÷±ÙÂ÷±Ù µû¶óÇØ º¸°Ú½À´Ï´Ù. MS SQL ¼­¹ö´Â ´Ù¾çÇÑ °ü¸®ÅøÀ» °®°í Àִµ¥ Ãʺ¸ °³¹ßÀÚ¶ó¸é ¡®¿£ÅÍÇÁ¶óÀÌÁî ¸Å´ÏÀú¡¯¸¦ ÀÌ¿ëÇØ¼­ ¸¶¿ì½º Ŭ¸¯¸¸À¸·Î »ó´ç ºÎºÐÀ» ¼Õ½±°Ô »ç¿ëÇÒ   ÀÖ½À´Ï´Ù(ÇÏÁö¸¸ Äõ¸® ºÐ¼®±â¿¡ »¡¸® Ä£ÇØÁö±â¸¦ ±ÇÀåÇÕ´Ï´Ù). ¿£ÅÍÇÁ¶óÀÌÁî ¸Å´ÏÀú¿¡¼­ ¡®SQL ¼­¹ö ±×·ì¡¯À¸·Î °¡¸é ±âº»ÀûÀ¸·Î ÀÚ½ÅÀÇ PC À̸§ÀÌ ³ª¿À¸ç 7°³ÀÇ Æú´õ°¡ ³ª¿É´Ï´Ù. ÀÌÁß ¡®µ¥ÀÌÅͺ£À̽º¡¯ Æú´õ´Â ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º°¡ ´ã±ä Æú´õÀÔ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º Æú´õ¿¡¼­ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öưÀ» ´­·¯ ¸ðµç ¡¸¸ðµç ÀÛ¾÷ | µ¥ÀÌÅÍ °¡Á®¿À±â¡¹¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¹Ù·Î ¹æ±Ý ¸¸µç MDB_Diary¿¡¼­ µ¥ÀÌÅ͸¦ °¡Á®¿À±â À§ÇØ ÀÌ ¸Þ´º¸¦ ¼±ÅÃÇÑ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ¡®µ¥ÀÌÅÍ °¡Á®¿À±â ¸¶¹ý»ç¡¯°¡ ÀÛµ¿ÇÒ °ÍÀÔ´Ï´Ù.

ù ¹øÂ° È­¸éÀº °¡Á®¿Ã µ¥ÀÌÅ͸¦ ¼±ÅÃÇÏ´Â ºÎºÐÀÔ´Ï´Ù. ÃÖ°­ÀÇ DBMS´ä°Ô mdb¸¦ ±×´ë·Î ÀÐÀ» ¼öµµ ÀÖÁö¸¸ ¹æ±Ý ¸¸µç ODBC ºê¸´Áö¸¦ ÀÌ¿ëÇØ °¡Á®¿Àµµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌÁß¿¡¼­ ¾î¶² ºÎºÐÀ» °Çµå·Á¾ß ÇÒ±î¿ä? ODBC¶ó°í ÀûÈù Ç׸ñÀ» ¼±ÅÃÇØ¾ß°ÚÁÒ? ¡®µ¥ÀÌÅÍ ¿øº»¡¯¿¡¼­ ¡®Other(ODBC Data Source)¡¯¸¦ ¼±ÅÃÇØÁÝ´Ï´Ù. ¸Þ´º ¸ð¾çÀÌ º¯°æµÇ¸ç ¡®»ç¿ëÀÚ/½Ã½ºÅÛ DSN¡¯ÀÌ ³ªÅ¸³³´Ï´Ù. ¹æ±Ý ¸¸µç ¿¬°á À̸§ÀÎ ¡®MDB_Diary¡¯¸¦ ¼±ÅÃÇÕ´Ï´Ù. À̸§°ú ¾ÏÈ£´Â °É¾îµÎÁö ¾Ê¾ÒÀ¸´Ï ¹«½ÃÇÏÁö¿ä. ÇöÀç º¸´Â À©µµ¿ì°¡ <È­¸é 2>ÀÔ´Ï´Ù.

ÀÌÁ¦ MS SQL ¼­¹ö¿¡ ´ã±æ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé¾îÁà¾ß°ÚÁÒ? ´ÙÀ½ ¹öưÀ» ´­·¯ ´ë»ó ¼±Åà ȭ¸éÀ¸·Î ³Ñ¾î°©´Ï´Ù. ¼­¹ö´Â ¹Ù·Î ÀÚ½ÅÀÇ PC¸¦ ¼±ÅÃÇϸç ÀÚ½ÅÀÇ MS SQL ¼­¹öÀÇ ¾ÏÈ£¿Í ºñ¹Ð¹øÈ£¸¦ ¾Ë¸Â°Ô Àû¾îÁÝ´Ï´Ù. ¸¶Áö¸· ¡®µ¥ÀÌÅÍ º£À̽º¡¯ Ç׸ñ¿¡¼­´Â ¡®»õ·Î ¸¸µé±â¡¯¸¦ ¼±ÅÃÇØ »õ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µì´Ï´Ù. »õ·Î ¸¸µé±â ¹öưÀ» ´©¸£¸é »õ·Î¿î µ¥ÀÌÅͺ£À̽ºÀÇ À̸§À» ¹¯´Âµ¥ ÇÊÀÚ´Â Diary¶ó°í Àû¾îÁá½À´Ï´Ù. ÀÌ È­¸éÀº <È­¸é 3>ÀÌ µÉ °ÍÀÔ´Ï´Ù.

<È­¸é 2> µ¥ÀÌÅ͸¦ °¡Á®¿À±â À§ÇÑ ¿øº» ¼±ÅÃ

<È­¸é 3> µ¥ÀÌÅ͸¦ ´ãÀ» µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µì´Ï´Ù.

ÀÌÁ¦ ¸ðµç °úÁ¤ÀÇ ³¡ÀÔ´Ï´Ù. ¡®´ÙÀ½¡¯ ¹öưÀ» °è¼Ó ´­·¯ ÀÛ¾÷À» ³¡³À´Ï´Ù. ¡®1°³ÀÇ ACCESS Å×À̺íÀ» Microsoft SQL ¼­¹ö(À¸)·Î º¹»çÇß½À´Ï´Ù.¡¯¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿À¸é ¼º°øÀûÀ¸·Î ¸¶À̱׷¹À̼ÇÇÑ °ÍÀÔ´Ï´Ù. »õ·Î ¸¸µé¾îÁø Diary¿¡ Å×À̺í Ç׸ñÀ¸·Î °¡¼­ ¡®Diary¡¯ Å×À̺í·Î °¡º¸¸é ¿¢¼¼½º¿¡¼­ ÀÛ¾÷ÇÑ ³»¿ëÀÌ ±×´ë·Î ¿Å°ÜÁ® ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ´«Ä¡ ºü¸¥ µ¶ÀÚºÐÀ̶ó¸é ÀÌÁ¦±îÁö »ìÆìº» MS SQL ¼­¹öÀÇ ¸Þ´ºµé¿¡¼­ mdb»Ó¸¸ ¾Æ´Ï¶ó ´Ù¾çÇÑ µ¥ÀÌÅÍ¿Í ÅØ½ºÆ®µéÀ» MS SQL ¼­¹ö·Î ¿Å±æ ¼ö ÀÖ´Ù´Â °ÍÀ» ´«Ä¡Ã«À» °ÍÀÔ´Ï´Ù.

´õ Áß¿äÇÑ °ÍÀº À̰ÍÀº ´ÜÁö MS SQL ¼­¹ö¸¸ÀÇ µ¶¸³µÈ ±â´ÉÀÌ ¾Æ´Ï¶õ Á¡ÀÔ´Ï´Ù. ODBC³ª OLE-DB °°Àº ´Ù¾çÇÑ UDA¸¦ ÀÌ¿ëÇØ ¿ì¸® ½º½º·Îµµ ÀÌ·¯ÇÑ ¸¶À̱׷¹ÀÌ¼Ç ÇÁ·Î±×·¥À» ¼Õ½±°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦ Çö¾÷ ȯ°æ¿¡¼­ DBMS´Â µ¥ÀÌÅÍ ÀúÀå¼Ò»Ó¸¸ ¾Æ´Ï¶ó µ¥ÀÌÅÍ º¯È¯±â·Îµµ ÀÌ¿ëµÇ¸ç ±×·¯ÇÑ ÅøÀ» Á÷Á¢ ¸¸µç´Ù¸é »ó´çÈ÷ À¯¿ëÇÏ°Ô »ç¿ëµÉ °ÍÀÔ´Ï´Ù. ¿¹ÄÁ´ë À̸ÞÀÏÀ» µ¥ÀÌÅͺ£À̽º·Î ÀÚµ¿À¸·Î ¿Å±ä´Ùµç°¡ ¿¢¼¿ ¹®¼­¸¦ µ¥ÀÌÅͺ£À̽º·Î ¿Å±â´Â °Í, ȤÀº HTML ±â¹ÝÀÇ °Ô½ÃÆÇÀ» µ¥ÀÌÅͺ£À̽º·Î ´Ù½Ã ¿Å±â´Â °ÍÀº »ó»ó¸¸À¸·Îµµ À¯¿ëÇÏ´Ù°í ´À²¸ÁöÁö ¾Ê½À´Ï±î?

<Ç¥ 1> SQL ¼­¹öÀÇ Diary Å×À̺í

À̹ø ½Ã°£¿¡´Â ODBC ¿¬°áÀ» ÀÌ¿ëÇÑ´Ù°í ÇÏ¿´À¸´Ï Áö±Ý ¸¸µç Å×ÀÌºí ¿ª½Ã ODBC ¿¬°áÀ» ¸¸µé¾î¾ß°ÚÁÒ. ¶Ç ´Ù½Ã °ü¸® µµ±¸·Î ã¾Æ°¡ ODBC ¿¬°áÀ» ¸¸µì´Ï´Ù. MS SQLÀº ODBC µå¶óÀ̹ö Áß °¡Àå ¾Æ·¡¿¡ ³õ¿©ÀÖ½À´Ï´Ù. SQL ¼­¹ö¸¦ ¼±ÅÃÇÏ°í ´ÙÀ½ ¹öưÀ» ´©¸¨´Ï´Ù. µå¶óÀ̹ö°¡ ´Ù¸¥ ¸¸Å­ È­¸éµµ ´Ù¸¨´Ï´Ù. <È­¸é 5>´Â SQL ¼­¹ö·Î ¼³Á¤ÇßÀ» ½ÃÀÇ ODBC È­¸éÀÔ´Ï´Ù. ÀÌÁß °ü½ÉÀÖ°Ô ºÁ¾ß ÇÏ´Â °÷Àº ¸¶Áö¸· ¡®¼­¹ö¡¯¶ó´Â Ç׸ñÀÔ´Ï´Ù. ºñ·Ï ÇÊÀÚÀÇ È¯°æÀº SQL ¼­¹ö¿Í VC++°¡ °°Àº °÷¿¡ À§Ä¡Çϰí ÀÖÁö¸¸ ODBC¸¦ ÀÌ¿ëÇÑ´Ù¸é TCP/IP¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î SQL ¼­¹öÀÇ À§Ä¡´Â ¹«°üÇÕ´Ï´Ù. ¿©±â¿¡ ÄÄÇ»ÅÍ À̸§ ȤÀº ÇØ´ç À§Ä¡ÀÇ IP ÁÖ¼Ò¸¦ ÀûÀ¸¸é ¹°¸®ÀûÀ¸·Î ¶³¾îÁø °÷ÀÇ SQL ¼­¹ö¶óµµ ã¾Æ°©´Ï´Ù. SQL ¼­¹ö¿¡ µî·ÏµÈ ¾ÆÀ̵ð¿Í ºñ¹Ð¹øÈ£, ±×¸®°í ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º À̸§ÀÎ Diary¸¦ ¼±ÅÃÇÏ°í ¿¬°á µî·ÏÀ» ¸¶Ä¨´Ï´Ù. ¸ðµç °úÁ¤ÀÌ ¼º°øÀûÀ¸·Î ¸¶ÃÆÀ¸¸é µ¥ÀÌÅͺ£À̽º ¿¬°á Å×½ºÆ®µµ ÇØº¸¼¼¿ä. ¸ðµç °ÍÀÌ ¼º°øÀ̸é ÀϱâÀå ÇÁ·Î±×·¥À» ¼º°øÀûÀ¸·Î mdb¿¡¼­ SQL ¼­¹ö·Î ¸¶À̱׷¹À̼ÇÇÑ °ÍÀÔ´Ï´Ù.

¸¸¾à SQL ¼­¹ö¸¦ óÀ½À¸·Î °æÇèÇÑ µ¶ÀÚ¶ó¸é ¸ðµç °ÍÀÌ ³¸¼³ ¼öµµ ÀÖ°Ú½À´Ï´Ù¸¸ µ¥ÀÌÅͺ£À̽º´Â MFC °³¹ßÀÚÀÇ ±âº» ½ºÅ³ Áß ÇϳªÀ̹ǷΠ¹Ýµå½Ã ÀÚ½ÅÀÇ °ÍÀ¸·Î ¸¸µé¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌÁ¦±îÁöÀÇ ÂªÀº ¼³¸íÀº ±âº» ´É·ÂÀÏ »ÓÀÌÁö Ưº°ÇÑ °³¹ßÀÚ È¤Àº DBA¸¸ÀÇ ½ºÅ³ÀÌ Àý´ë ¾Æ´Õ´Ï´Ù. SQL ¼­¹ö¿¡ ´ëÇØ º¸´Ù ¸¹Àº °ÍÀ» ¾Ë°í ½ÍÀº µ¶ÀÚ¶ó¸é ¡®°ÅºÏ¾ö¸¶ÀÇ SQL ¼­¹ö ¿¬±¸½Ç(http://www.mssqllaboratory.pe.kr/)¡¯À» °­·ÂÈ÷ ÃßõÇÕ´Ï´Ù. Q&A Çü½ÄÀ¸·Î ¸¸µé¾îÁø À̰÷Àº µ¥ÀÌÅͺ£À̽º °³¹ßÀÚ°¡ °Þ´Â ½Ç¹« Áß½ÉÀÇ ¹®Á¦ »óȲ°ú ±× ÇØ°á¹ýµéÀÌ Àß ³ª¿Í ÀÖ½À´Ï´Ù(´Ù¸¸ ³Ê¹« ±âÃÊÀûÀÎ SQL¹® Áú¹®Àº »ç¾çÇÕ´Ï´Ù).

¡°ODBC¸¦ ÀÌ¿ëÇÏ¿© ¼º°øÀûÀ¸·Î ¾ï¼¼½º¿¡¼­ SQL ¼­¹ö·Î µ¥ÀÌÅ͸¦ ¿Å°å¾î. ÀÌÁ¨ ¾î¶² ÀÚ¸®¿¡¼­³ª ÀϱâÀå ÇÁ·Î±×·¥ÀÌ ÀÛµ¿µÇ°ÚÁö?¡° ÀϱâÀå ÇÁ·Î±×·¥°ú ODBC ºê¸´Áö¸¦ µð½ºÄÏ¿¡ ¿Å°Ü ´ãÀº ·¹¾Æ±ºÀº ÀÚ¸®¸¦ ¿Å°Ü°¡¸ç ÀϱâÀåÀÇ ½ÇÇà °á°ú¸¦ È®ÀÎÇϰí ÀÖ¾ú½À´Ï´Ù.

ÀϱâÀå ÇÁ·Î±×·¥µµ ODBC·Î
CRecordetÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º Á¢¼Ó
ÀÌÁ¦ ÀϱâÀå ÇÁ·Î±×·¥µµ °íÃľ߰ÚÁÒ? Áö³­ ½Ã°£ »ç¿ëÇß´ø ¿¹Á¦¸¦ ±×´ë·Î ÀÌ¿ëÇÏ¿© DAO¿¡¼­ ODBC ±â¹ÝÀ¸·Î ¿Å±â°Ú½À´Ï´Ù. ÇÁ·ÎÁ§Æ®¸¦ ±×´ë·Î º¹»çÇØ ¿Í¼­ ODBC¸¦ Ãß°¡ÇÒ °ÍÀÔ´Ï´Ù. ¸ÕÀú CMyDaoDB¸¦ »ç¿ëÇÏ´Â ºÎºÐÀº ÁÖ¼®Ã³¸®ÇØ ÁÖ¼¼¿ä. ±×·¸´Ù ÇÏ´õ¶óµµ °ÅÀÇ ´ëºÎºÐÀÇ ¼Ò½º´Â ±âÁ¸°ú ¶È°°½À´Ï´Ù. ODBC¸¦ »ç¿ëÇϱâ À§Çؼ­´Â CDaoRecordset ´ë½Å CRecordset, CDaoDatabase ´ë½Å CDatabase Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ´Ù´Â Á¡¸¸ ´Ù¸¨´Ï´Ù. °¡Àå ¸ÕÀú <È­¸é 6>°ú °°ÀÌ Å¬·¡½º À§Àúµå¿¡¼­ CRecordset Ŭ·¡½º¿¡¼­ »ó¼Ó¹ÞÀº CMyOdbcDB Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù.

CMyOdbcDB Ŭ·¡½ºÀÇ º¯¼öÀÎ m_MyOdbcDB ¸¦ Ãß°¡ÇÑ ÈÄ ±âÁ¸ ¼Ò½º DaoDiaryDlg.cpp¿¡¼­ m_MyDaoDB º¯¼ö¸¦ ÀÌ¿ëÇÑ ºÎºÐÀ» ÀüºÎ m_MyOdbcDB·Î °íĨ´Ï´Ù. ÀÌ·² °æ¿ì, Åø ¸Þ´ºÀÇ Edit¿¡ ÀÖ´Â Replace¸¦ ÀÌ¿ëÇÑ´Ù¸é ¾ÆÁÖ ½±°ÚÁÒ? ±×¸®°í stdafx.h¿¡ #include ¸¦ Ãß°¡ÇØÁÝ´Ï´Ù. CDaoRecordset¸¦ ÀÌ¿ëÇÒ °æ¿ì ¸¦, CRecordset¸¦ ÀÌ¿ëÇÒ °æ¿ì¿¡´Â ¸¦ Ãß°¡ÇØÁà¾ß ÇÕ´Ï´Ù. ÄÄÆÄÀÏ ÀÌÀü¿¡ CMyOdbcDB Ŭ·¡½º¸¦ Àá½Ã »ìÆìº¾½Ã´Ù.

<È­¸é 6> ODBC¸¦ ÀÌ¿ëÇÏ´Â CRecordset Ŭ·¡½º¸¦ Ãß°¡ÇÕ´Ï´Ù.

 <¸®½ºÆ® 1> MyOdbcDB.cpp> ODBC¸¦ ¿¬°áÇÏ´Â ºÎºÐ

<¸®½ºÆ® 1>Àº CDaoRecordset°ú Å« Â÷À̰¡ ¾øÁö¸¸ GetDefaultConnect() ºÎºÐÀÌ Á¶±Ý ´Þ¶óÁ³½À´Ï´Ù. DAO¿´À» ¶§´Â ·ÎÄÿ¡ ´ã±ä mdb ÆÄÀÏÀÇ °æ·Î¸¸ ¼³Á¤ÇØÁá½À´Ï´Ù. ODBCÀÏ °æ¿ì¿¡´Â µ¥ÀÌÅͺ£À̽ºÀÇ ¹°¸® À§Ä¡´Â °ü°è¾ø½À´Ï´Ù. µû¶ó¼­ ODBC¸¦ »ç¿ëÇÒ °ÍÀ̶ó°í ODBC¶ó°í Àû¾îÁáÀ¸¸ç ¿¬°á À̸§(DSN)Àº Diary¶ó°í ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ¿©±â±îÁö´Â MFC°¡ ¸¸µé¾îÁÖ´Â ºÎºÐÀ̳ª SQL ¼­¹ö¿¡ ·Î±×ÀÎÇϱâ À§ÇÑ ID¿Í ºñ¹Ð¹øÈ£´Â ÀûÇôÀÖÁö ¾Ê½À´Ï´Ù(º¸¾ÈÀ» À§ÇØ ±×·± °ÍÀ̰ÚÁÒ?) ¸¸¾à ÀÌ ºÎºÐ¿¡ ID¿Í ºñ¹Ð¹øÈ£°¡ ¾ø´Ù¸é ÇÁ·Î±×·¥ µ¿À۽à Ç×»ó ·Î±×ÀÎÀ» ÇØ¾ß ÇÕ´Ï´Ù. µû¶ó¼­ <¸®½ºÆ® 1>°ú °°ÀÌ Ãß°¡ÇØ ÀÚµ¿À¸·Î ·Î±×ÀÎÀÌ µÇµµ·Ï ÇÕ´Ï´Ù. ³ª¸ÓÁö ºÎºÐµéÀº DAO ¶§¿Í ¶È°°½À´Ï´Ù. ÀÚµ¿À¸·Î ¸â¹ö º¯¼ö°¡ ¸¸µé¾îÁ³À¸¸ç DoFieldExchange¿¡¼­ µ¥ÀÌÅÍ ±³È¯µµ ÀϾ´Ï´Ù.

¿©±â¼­ ¹Ýµå½Ã ¹Ù²ãÁà¾ß ÇÒ ºÎºÐÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î ³¯Â¥ Çü½Ä ¹®Á¦ÀÔ´Ï´Ù. m_Date´Â CTime ÀÚ·áÇüÀ¸·Î ¹Ù²î¾ú½À´Ï´Ù. DAO¿¡¼­´Â COleDateTime¿´½À´Ï´Ù. ¹Ýµå½Ã CTimeÀ» COleDateTimeÀ¸·Î ¹Ù²ãÁÖ±æ ¹Ù¶ø´Ï´Ù. ÀÌ´Â ³¯Â¥¸¦ ÀÔ·ÂÇÒ ¶§ Æí¸®ÇÏ°Ô ÄÚµùÇϱâ À§Çؼ­ÀÔ´Ï´Ù. MS SQL ¼­¹ö¸¦ ÀÌ¿ëÇÒ °æ¿ì datetime ÀÚ·áÇü¿¡¼­ °ï¶õÀ» °Þ´Â µ¶ÀÚµéÀÌ ¸¹Àºµ¥ ÁÖ·Î CRecordset¿¡¼­ ±âº»ÀûÀ¸·Î Á¦°øÇØ ÁÖ´Â CTime ÀÚ·áÇüÀ» ±×´ë·Î ¾²±â ¶§¹®ÀÔ´Ï´Ù. ¹®ÀÚ¿­ ±â¹ÝÀÇ ³¯Â¥/½Ã°£À» CTimeÀ¸·Î º¯°æÇϱâ À§Çؼ­´Â ²Ï³ª °í»ýÇØ¾ß Çϴµ¥ óÀ½ºÎÅÍ COleDateTimeÀ» ÀÌ¿ëÇϸé Áö³­ ½Ã°£Ã³·³ Æí¸®ÇÏ°Ô SetDate()¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ m_Date¸¦ MFC°¡ ÁöÁ¤ÇØÁØ CTime ´ë½Å COleDateTimeÀ¸·Î °íÄ¡±æ ¹Ù¶ø´Ï´Ù. À̿ܿ¡µµ ³¯Â¥/½Ã°£ÀÌ ÁÖ¿äÇÏ°Ô »ç¿ëµÇ´Â ÇÁ·Î±×·¥À̶ó¸é COleDateTimeÀ» ¾²±â¸¦ ±ÇÀåÇÕ´Ï´Ù.

CMyOdbcDB´Â CMyDaoDB¿Í »ó´çÈ÷ Èí»çÇÕ´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀ¸·Î DAO¿Í ODBC°¡ ºñ½ÁÇÑ ±â¼úÀ̶ó°í Âø°¢Çؼ­´Â ¾ÈµË´Ï´Ù. ÀÌ µÑÀº ÀüÇô ´Ù¸¥ ±â¹ÝÀÇ ±â¼úÀÔ´Ï´Ù. ÇÏÁö¸¸ MFC¿¡¼­´Â °³¹ßÀÚ¸¦ À§ÇØ µÑ Áß Çϳª¸¸ ¾Ë´õ¶óµµ ¼Õ½±°Ô ¿Å±æ ¼ö ÀÖµµ·Ï °°Àº ÇÔ¼ö¸¦ Á¦°øÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·³ Áö³­ ½Ã°£¿¡ ´Ù·çÁö ¸øÇÑ °Ë»ö°ú ¼öÁ¤À» Ãß°¡Çغ¸°Ú½À´Ï´Ù.

Àϱ⸦ ¼öÁ¤ÇÏÀÚ, UPDATE
µ¥ÀÌÅͺ£À̽º, ¾Æ´Ï SQL ¹®¿¡¼­ ¼öÁ¤¿¡ ÇØ´çÇÏ´Â ¹®ÀåÀº UPDATEÀÔ´Ï´Ù. UPDATE´Â ÇÊµå °ª À̿ܿ¡µµ Å×ÀÌºí ±¸Á¶±îÁö ¹Ù²Ü ¼ö ÀÖ´Â °­·ÂÇÑ ¹®ÀåÀÔ´Ï´Ù. ÁÖ·Î ÇʵåÀÇ °ªÀ» º¯°æÇϱâ À§ÇÑ UPDATE ¹®ÀåÀº ´ÙÀ½°ú °°½À´Ï´Ù.

UPDATE [Å×À̺í¸í] SET [Çʵå¸í] = '»õ µ¥ÀÌÅÍ' WHERE [Çʵå¸í] = 'CA'

ÀÌ Àǹ̴ Å×ÀÌºí ³»¿¡¼­ µ¥ÀÌÅͰ¡ CAÀÎ Çʵ带 »õ µ¥ÀÌÅÍ·Î ¹Ù²Û´Ù´Â ÀǹÌÀÔ´Ï´Ù. ÀÌ·± SQL ¹®À» Á÷Á¢ Àü´ÞÇÒ ¼öµµ ÀÖÁö¸¸ ±×·² °æ¿ì µ¥ÀÌÅͺ£À̽º¿¡ ¹«°üÇÏ°Ô »ç¿ëÇÑ´Ù´Â CRecordsetÀÇ Àǹ̰¡ ¾àÇØÁý´Ï´Ù. µû¶ó¼­ CRecordset¿¡¼­ Á¦°øÇØÁÖ´Â ¼öÁ¤ ÇÔ¼ö¸¦ »ìÆìº¸ÁÒ. ¸ÕÀú ¡®¼öÁ¤¡¯À̶ó´Â ¹öưÀ» »õ·Ó°Ô ¸¸µé°í ¸®¼Ò½º À̸§Àº IDC_UPDATE¶ó°í ÁÖ¾ú½À´Ï´Ù. ´õºí Ŭ¸¯ÇØ OnUpdate() ÇÔ¼ö¸¦ ¸¸µé¾ú½À´Ï´Ù. ¼öÁ¤ÇÏ´Â °ÍÀº ÀǿܷΠ°£´ÜÇÕ´Ï´Ù. Áö³­ ½Ã°£ ¸¸µé¾ú´ø ÀÔ·Â ÇÔ¼ö¿¡¼­ ÇÑ ÁÙ¸¸ ¹Ù²ãÁÖ¸é µË´Ï´Ù. ÀÔ·Â ÇÔ¼ö¿´´ø OnInsert()¿¡¼­´Â AddNew()·Î »õ·Î¿î Çʵ尡 ÀÔ·ÂµÈ´Ù°í ¼±¾ðÇϰí ÇÊµå °ªÀ» ä¿ì°í Update() ÇÔ¼ö¸¦ È£ÃâÇß½À´Ï´Ù. À̹ø¿¡´Â AddNew ´ë½Å Edit() ÇÔ¼ö¸¦ »ì¦ ¹Ù²ã³õÀ¸¸é µË´Ï´Ù.

 <¸®½ºÆ® 2> DaoDiaryDlg.cpp

¡°µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÒ ¶§´Â UPDATE Å×À̺í SET Çʵå, ±×¸®°í WHERE Àý...¡±
DBMS Ã¥À» ÇÔ²² ¹Ù¶óº¸¸ç ·¹¾Æ±ºÀº DBMS¸¦ Á¶ÀÛÇÕ´Ï´Ù. ±×·¯³ª ¹«½ÉÄÚ ½ÇÇà ¾ÆÀÌÄÜÀ» ´©¸£ÀÚ¸¶ÀÚ Å×À̺í À̸§À» À߸ø Àû¾ú´Ù´Â »ç½ÇÀ» ¾Ë°Ô µÇ¾ú°í ÀÌ À߸ø ÀÔ·ÂÇÑ Å×À̺íÀº ±âÁ¸¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â, Áö±Ý ´çÀå ¼­ºñ½º ÁßÀΠȸ¿ø Å×ÀÌºí »ç½ÇÀ» ¾Ë°Ô µÇ¾ú½À´Ï´Ù.
¡°¾Ç!!¡±
°³¹ß½Ç °¡µæÈ÷ Àý¸ÁÀûÀÎ ºñ¸íÀ» ¿ÜÄ¡Áö¸¸ ÀÏ¿äÀÏ ¿ÀÈÄ °³¹ß½Ç¿¡¼­ µè´Â ÀÌ´Â ¾Æ¹«µµ ¾ø¾ú½À´Ï´Ù. ¾Æ¸¶ ÀÌ·± ÀÏÀº DBA ±ÇÇÑÀ» °®°Ô µÈ Ãʺ¸ °³¹ßÀÚµéÀ̶ó¸é ÇÑ ¹ø¾¿ ¸ô·¡ °Þ°Ô µÇ´Â ÀÏÀÏ °ÍÀÔ´Ï´Ù.

Àϱ⸦ °Ë»öÇÏÀÚ, WHERE ÀýÀÇ »ç¿ë
°Ë»öÀ» À§ÇÑ SQL ¸í·É¾î´Â µû·Î Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. SELECT³ª UPDATE µî ¾î¶² SQL ¹®ÀÌ¶óµµ ¾î¶² Á¶°ÇÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. Á¶°ÇÀ» ÁÖ´Â SQL ¹®Àº WHERE¶ó´Â ¹®ÀåÀÔ´Ï´Ù. µû¶ó¼­ ¸ðµç ¹®ÀåÀ» º¸´Â SELECT ¹®À» Çϳª ¸¸µé°í ±× µÚ¿¡ ƯÁ¤ÇÑ Á¶°Ç¸¸ º¸°Ú´Ù°í ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. WHERE Àý¿¡ ƯÁ¤ÇÑ ³¯Â¥, ƯÁ¤ ¹®Àå, ƯÁ¤ ³¯¾¾ µîÀ» ÁöÁ¤ÇÏ¸é µÇ´Â °ÍÀÌÁÒ. ÀÌ·¸µí µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇÏ¸é °Ë»öÀ̶ó´Â ¾î·Á¿î ¾Ë°í¸®ÁòÀ» WHERE ¹®Àå Çϳª·Î ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¿¡¼­´Â °£´ÜÈ÷ Á¦¸ñ(Title) Çʵ忡 ƯÁ¤ ´Ü¾î°¡ µé¾î°£ Àϱ⸦ °Ë»öÇϰíÀÚ ÇÕ´Ï´Ù. SQL ¹®Àº ¾î¶»°Ô µÉ±î¿ä?

SELECT * FROM Diary WHERE Title Like '&°Ë»ö´Ü¾î&¡¯

Like´Â Áß¿äÇÑ SQL ¹®ÀåÀÔ´Ï´Ù. Like´Â ¹®ÀÚ ¼Ó¿¡¼­ ¡®°Ë»ö ´Ü¾î¡¯¶õ ´Ü¾î°¡ µé¾î°¡´Â ¹®ÀåÀ» ÀüºÎ °¡Á®¿É´Ï´Ù. ¸¸¾à ¸¼Àº ³¯ÀÇ Àϱ⸸ º¸°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µË´Ï´Ù.

SELECT * FROM Diary WHERE Weather = 1

WHERE ÀýÀº AND ¿¬»êÀ¸·Î ´õ¿í ¼¼¹ÐÇÑ °Ë»öÀÌ °¡´ÉÇÕ´Ï´Ù. À¥ °Ô½ÃÆÇ¿¡¼­ º¸´Â °Ô½ÃÆÇ °Ë»ö ±â´É ¿ª½Ã WHERE ÀýÀ» ÀÌ¿ëÇØ °¡Á®¿À´Â °ÍÀÔ´Ï´Ù. À̿ܿ¡µµ WHERE ÀýÀ» È¿°úÀûÀ¸·Î ÀÌ¿ëÇØ ´õ¿í ¼¼¹ÐÇÑ °Ë»ö ±â´ÉÀ» ¸¸µé ¼ö ÀÖÁö¸¸ ½Ç½ÀÀº »ý·«Çϱâ·Î ÇÕ´Ï´Ù. SQL ¹® Áß¿¡¼­ WHERE ÀýÀÇ »ç¿ë¹ý¸¸ ¼÷ÁöÇÏ°í ±âº»ÀûÀÎ MFC ÄÁÆ®·Ñ¸¸ ÀÀ¿ëÇÑ´Ù¸é °Ë»ö ±â´ÉÀÇ Ãß°¡´Â ½±°Ô ³ª¿À´Ï±î¿ä.

ÀÚ, ±×·³ CRecordset¿¡´Â WHERE ÀýÀ» À§ÇØ ¾î¶² ÇÔ¼ö¸¦ Á¦°øÇØÁÖ°í ÀÖÀ»±î¿ä? ÀÌÁ¦±îÁö¿Í´Â Á¶±Ý ´Ù¸¥ ¹æ¹ýÀ» ÀÌ¿ëÇÕ´Ï´Ù. m_MyOdbcDB ³»ÀÇ ¸â¹öµéÀ» »ìÆìº¸¸é m_strFilter¶ó´Â ¹®ÀÚ¿­ º¯¼ö°¡ ÀÖ½À´Ï´Ù. m_strFilter´Â SQL¿¡¼­ WHERE Àý ¹Ù·Î µÚ¿¡ ºÙ´Â ¹®ÀåÀ» ÀǹÌÇÕ´Ï´Ù. µû¶ó¼­ ½ÇÁ¦ ÄÚµå »ó¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ ÀûÀ¸¸é µË´Ï´Ù.

m_MyOdbcDB.m_strFilter = ¡°Title Like ¡®%°Ë»ö´Ü¾î%¡¯¡±;
m_MyOdbcDB.Requery();

Requery()´Â ´Ù½Ã SELECT¸¦ ¼öÇàÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù. À̰ÍÀ» ºü¶ß¸®¸é »õ·Î¿î °á°ú ¼ÂÀÌ ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. °Ë»öÀ» À§ÇÑ »õ·Î¿î À©µµ¿ì¸¦ ¶ç¿ì´Â °Íµµ ÁÁ°ÚÁö¸¸ ÄÚµåÀÇ °£°áÇÔÀ» À§ÇØ ±âÁ¸ â À§¿¡ °Ë»ö ¿¡µðÆ® ¹Ú½º¿Í ¹öưÀ» ¸¸µé±â·Î ÇÕ´Ï´Ù. ¸¸¾à °Ë»ö Á¶°Ç¿¡ ÇØ´çÇÏ´Â Çʵ尡 ¾ø´Ù¸é °á°ú ¼ÂÀÌ BOF°Å³ª EOFÀÏ °æ¿ìÀÔ´Ï´Ù.

 <¸®½ºÆ® 3> DaoDiaryDlg.cpp °Ë»ö ±â´ÉÀÇ Ãß°¡

±×·± °æ¿ì¿¡´Â <¸®½ºÆ® 3>°ú °°ÀÌ ¿¡·¯ Ãâ·Â°ú ÇÔ²² ´Ù½Ã SELECTÇØ¼­ °á°ú ¼ÂÀ» ¿ø»ó º¹±Í½Ã۰í ÀÖ½À´Ï´Ù. <È­¸é 7>Àº µ¥ÀÌÅÍ °ü¸®°¡ ¸ðµÎ Æ÷ÇÔµÈ ÀϱâÀåÀÔ´Ï´Ù. À̸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º¿Í Ä£¼÷ÇØÁö±â¸¦ ¹Ù¶ø´Ï´Ù.

<È­¸é 7> ¼öÁ¤°ú °Ë»ö ±â´ÉÀÌ Æ÷ÇÔµÈ ODBC ÀϱâÀå

¡°ÈåÈåÈæ, ±×, ±×·¯´Ï±î¿ä, Àú..Àú´Â ¾Æ¹« Àϵµ ¾ÈÇߴµ¥¿ä. ÀúÀý·Î ¹Ù²î¾ú¾î¿ä.¡±
¡°¾Æ¹« Àϵµ ¾ÈÇߴµ¥ ¿Ö ¹Ù²îÁÒ?¡±
·¹¾Æ±ºÀÌ ÇÒ ¼ö ÀÖ´Â ÀÏÀ̶ó°ï DBMS¿¡ ´ëÇØ ¾Ë°í ÀÖ´ø À¯³ª¿¡°Ô ÀüÈ­¸¦ °Å´Â °ÍÀ̾ú½À´Ï´Ù. ÀÌ Çΰè Àú Çΰ踦 ´ë´Ù ¼ÖÁ÷È÷ ¹àÈ÷°í ÇØ°á¹ýÀ» ¹¯½À´Ï´Ù.
¡°ÀÏ´Ü ²ÙÁßÀº ³»ÀÏÇÏ°í ÆÀÀå´ÔÀÌ ¾Ë±â Àü¿¡ °íÃľßÁÒ. Áö±Ý ½Ã°£ÀÌ 3½Ã 30ºÐÀ̴ϱî, ¸¶Áö¸· ¹é¾÷À¸·Î µ¹¸®´Â ÀúÀå ÇÁ·Î½ÃÀú°¡ ÀÖ¾î¿ä. ºÒ·¯ÁÙÅ×´Ï ±×°ÍÀ» ÀÛµ¿½ÃŰ¼¼¿ä.¡±
¡°ÀúÀå ÇÁ·Î½ÃÀú´Â ¾î¶»°Ô ÀÛµ¿½ÃŰÁÒ?¡±
¡°Èì... MS °è¿­¿¡¼­´Â SQL ¹®À» Àü¼ÛÇÒ ¶§ °øÅëÀûÀ¸·Î Execute·Î ½ÃÀ۵Ǵ ÇÔ¼ö¸¦ ¾²´Ï MSDN¿¡¼­ ã¾Æº¸¼¼¿ä.¡±

¼û°ÜÁø ExecuteSQL()¸¦ ã¾Æ¶ó
ÀÌÁ¦±îÁö ¼³¸íÇÑ °ÍµéÀÌ DAO¿Í ODBC¿¡¼­ Á¦°øÇØ ÁÖ´Â µ¥ÀÌÅͺ£À̽º °ü·Ã ±â´ÉµéÀ̾ú½À´Ï´Ù. MFC¿¡¼­´Â µ¥ÀÌÅͺ£À̽º¿Í ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¸¦ öÀúÈ÷ ±¸ºÐÇØ SQL ¹®ÀåÀ» ¸ð¸£´õ¶óµµ ¹Ì¸® Á¦°øµÇ´Â ¸Þ½îµå¸¸À¸·Î °¡´ÉÇϰԲû ¼³°èµÇ¾î ÀÖ½À´Ï´Ù. ¹«Ã´ ¶Ù¾î³­ ±â´ÉÀÌÁö¸¸ SQL ¹®À» Á÷Á¢ È£ÃâÇØ¾ß ÇÒ °æ¿ìµµ ÀÖ½À´Ï´Ù. ƯÈ÷ DBMS ³»ÀÇ ÀúÀå ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÒ ¶§´Â ÇʼöÀûÀÌÁÒ. ±×·± °æ¿ì¸¦ ´ëºñÇÏ¿© Á÷Á¢ SQL ¹®À» ¾²´Â ¹æ¹ýÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ExecuteSQL()¶ó´Â ÇÔ¼ö¸¦ ÅëÇØ DBMS·Î SQL ¹®À» ³¯¸± ¼ö°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ExecuteSQL ÇÔ¼ö´Â CRecordsetÀÌ ¾Æ´Ñ CDatabase Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öÀÔ´Ï´Ù. ±×·¸´Ù¸é Á÷Á¢ SQLÀ» ÀÌ¿ëÇÒ ¶§´Â CDatabase¸¦ ´Ù½Ã ¼±¾ðÇØ¾ß ÇÒ±î¿ä? ¾Æ´Õ´Ï´Ù. CRecordset¿¡¼­µµ ExecuteSQL()À» ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¾î¼¸é À̹ø °­Á¿¡¼­ ÃÖ°í·Î À¯¿ëÇÑ ºñ±â(?)°¡ ¾Æ´Ò±î ÇÕ´Ï´Ù. ¹Ù·Î ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ExecuteSQL()À» ãÀ» ¼ö ÀÖ½À´Ï´Ù.

m_MyOdbcDB.m_pDatabase->ExecuteSQL( strSQL );

Áï, m_pDatabase´Â CRecordsetÀÇ ¸â¹ö º¯¼ö·Î¼­ CDatabase °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ±×¼Ó¿¡¼­ -> ¿¬»êÀÚ·Î ExecuteSQL() µî, CDatabaseÀÇ ¸â¹ö ÇÔ¼öµéÀ» °¡Á®´Ù ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÎÀڷδ CStringÀ» ±×´ë·Î ÀÌ¿ëÇÏ´Ï ¿ëµµ¿¡ ¸Â´Â SQL ¹®À» ±×´ë·Î ¸¸µé¾î º¸³»¸é µË´Ï´Ù. ¹°·Ð ÀúÀå ÇÁ·Î½ÃÀúµµ ExecuteSQL() ¹®À» ÅëÇØ º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ÀúÀå ÇÁ·Î½ÃÀú·Î ¾÷¹«°¡ ¼öÇàµÈ´Ù¸é MFC °³¹ßÀÚ´Â ÀÌ ÇÔ¼ö Çϳª·Î ¸ðµç ÀÛ¾÷À» ¸¶Ä¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. m_pDatabase¿Í ExecuteSQL()Àº Æó¼âÀûÀÎ µíÇÑ CRecordset Ŭ·¡½º¿¡¼­ CDatabase¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ï Àý´ë ÀØÁö ¾Êµµ·Ï ÇսôÙ.

´ÙÀ½ ½Ã°£¿¡´Â OLE-DB¸¦¡¦
ºñ¸¦ ÁÁ¾ÆÇÏ´Â ÇÊÀÚ¶ó À帶°¡ ½ÈÁö¸¸Àº ¾Ê´Â ½Ã±âÀÔ´Ï´Ù. »õº®À» °¡¸®Å°´Â ½Ã°è ¼Ó¿¡¼­ À̹ø ¿ø°íµµ ¸¶Ä¥±î ÇÕ´Ï´Ù. ¹«¾ð°¡ ´ë´ÜÈ÷ ¾µ¸¸ÇÑ ¿¹Á¦¸¦ ¸¸µé·Á°í ÇÏ¿´Áö¸¸ µ¥ÀÌÅͺ£À̽º °ü·Ã ÇÔ¼öµéÀÇ ¼³¸í¸¸À¸·Îµµ ÁöÃÄ ±â´ÉÀº ¿ª½Ã ¹ÌÈíÇϱº¿ä. ÇÏÁö¸¸ ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º¸¦ ÀÀ¿ëÇÏ´Â ±â¼úÀº À̰ÍÀ¸·Î ÃæºÐÇÏ´Ù°í »ý°¢µË´Ï´Ù. ³ª¸ÓÁö´Â ÀüºÎ ÄÁÆ®·Ñ UI¿¡ ´ëÇÑ ÄÚµå Ãß°¡»ÓÀÔ´Ï´Ù. ÀÌ ÀϱâÀå ÇÁ·Î±×·¥À» º¸´Ù ¾µ¸¸ÇÑ ÀϱâÀåÀ¸·Î º¯½Å½ÃÄѺ¸¼¼¿ä.

À̹ø ½Ã°£¿¡´Â DAO ¶§¿Í ´Þ¸® ODBC¸¦ ÀÌ¿ëÇØ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇß½À´Ï´Ù. ODBCÀÇ Æ¯Â¡Àº ¾ÖÇø®ÄÉÀ̼ǰú DBMS »çÀÌÀÇ ºê¸´Áö(´Ù¸®)¶ó´Â »ç½ÇÀ̸ç DBMS°¡ ´Ù¸£´Ù ÇÒÁö¶óµµ °°Àº ÇÔ¼ö·Î ÀÛµ¿µÈ´Ù´Â »ç½ÇÀÔ´Ï´Ù. µû¶ó¼­ ¿¢¼¼½º·Î ¸¸µé¾ú´ø ÀϱâÀåÀÇ Ãʱâ Äڵ嵵 ¾Æ¹«·± ¼öÁ¤ ¾øÀÌ Àß ÀÛµ¿µÇ¾úÀ½À» ¸ñ°ÝÇÏ¿´½À´Ï´Ù. ¸¸¾à MS SQL ¼­¹ö°¡ ¾ø´Â µ¶ÀÚ¶ó ÇÒÁö¶óµµ ¿¢¼¼½º³ª MySQL µî Àͼ÷ÇÑ DBMS·Î ODBC ¿¬°áÀ» ¸¸µé¾î À̹ø ¿¹Á¦¸¦ ÀÛµ¿½ÃÄÑ º¸±â ¹Ù¶ø´Ï´Ù. Áö±Ý ½Ã°¢À¸·Î´Â ´Ü¼øÇÑ °Í °°Áö¸¸ ODBCÀÇ ÃâÇö¿¡ ȯȣÇß´ø ¾à 10³â ÀüÀÇ °³¹ßÀÚ ¼±¹è´ÔµéÀ» »ó»óÇϸ鼭 ¸»ÀÔ´Ï´Ù. ´ÙÀ½ ½Ã°£¿¡´Â OLE-DB¸¦ ÀÌ¿ëÇØ ¶Ç ´Ù¸¥ ÀÛ¾÷À» ÇØº¸·Á ÇÕ´Ï´Ù. OLE¶õ ¸»ÀÌ µé¾î°¡´Ï±î COM¿¡ °üÇÑ ³»¿ëÀ» ¹Ì¸® Àо¼¼¿ä.

´ÙÇàÈ÷ À¯³ª°¡ ºÒ·¯ÁØ ·Ñ¹é(Roll Back) ÀúÀå ÇÁ·Î½ÃÀú¸¦ ExecuteSQL() ¹®À¸·Î ÀÛµ¿½ÃÄ×Áö. °¨ÅºÇß´ø °ÍÀº DBMS ·Î±×ÀÎ Á¤º¸±îÁö ±³¹¦È÷ Áö¿öÁÖ´õ±º. ÇѸ¶µð·Î ÀÌ·² ¶§ ¾²¶ó°í ¸¸µç ÀúÀå ÇÁ·Î½ÃÀú °°¾Ò¾î. °æ¿Ü½º·± ¸¾À¸·Î ÀúÀå ÇÁ·Î½ÃÀú¸¦ õõÈ÷ Àо´Ï ÀÛ¼ºÀÚ°¡ À¯³ªÀݾÆ. Ȥ½Ã À¯³ªµµ ÀÌ·± ÀÏÀ» ÀÚÁÖ °Þ¾ú´ø °ÍÀº ¾Æ´Ò±î? Èì... ÀÌ·± ÀÏ Á¤µµ´Â ÈǸ¢ÇÑ °³¹ßÀÚ°¡ µÇ±â À§ÇÑ °ü¹®À̶ó »ý°¢ÇÏÀÚ±¸. @

¢º Àüü ¼Ò½º ´Ù¿î·Îµå
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
[DDD ¨ë] BDD(Behavi...
[ORM ¨ç] ÇÏÀ̹ö³×ÀÌÆ® Ȱ¿ëÀü...
À©µµ¿ìCE µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü...
[±â°í]°í°´ ´«³ôÀÌ¿¡ ¸ÂÃá °¡»óÈ­...
[DDD ¨è] UI ÇÁ·ÎÅäŸÀÌÇÎ
[±â°í]¿Ã¸²ÇÈ ½ÃÁ𠺸¾È À§Çù¿¡ ...
[Å×Å©º¸µå ½ÃÁð3]¡¯ÆÄ´ÚÆÄ´Ú ¾Èö¼ö¿¬±¸¼Ò¡¯, ³¯°³°¡ ¹«°Ì´Ù ¿Ü [00:07:36]
±âȹ ·ùÁØ¿µ ±âÀÚ, ÁøÇà ¹ÚÀ±¹Ì, Á¦ÀÛ À¯È¸Çö PD
"¿¬¹æ¿ä¿øºÎÅÍ 14»ì ¼Ò³â±îÁö"¡¦Ú¸ ÇØÅ·´ëȸ, ÇÁ·Î±Þ ÇØÄ¿ 800¿©¸í ´ë¿îÁý [00:01:53]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
¡°À¥ Ç¥ÁØÀº ¹«½¼!¡±¡¦IE8¿¡ ´ë...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
³×À̹ö´Â ¿Ö '10´ë ÇØÄ¿'¿¡ ´ç...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
´ÙÀ½ vs Á¶Áßµ¿, Á¤¸éÃæµ¹·Î Ä¡...
"¿ù 9,900¿øÀÌ¸é ½Ã³»¡¤½Ã¿ÜÀü...
ÈÞ´ëÆù 'ÀüÈ­¹øÈ£, ¹®ÀÚ' ÀÚµ¿º¸...
¸¶À̽ºÆäÀ̽º, ¿¹ºñ °³¹ßÀÚ ¾¦¾¦ ...
CCTV°¡ °¥¼ö·Ï °­ÇØÁø´Ù
ÇÑÄÄ, Á¶Á÷°³Æí¡¦"¿ÀǼҽºSW Ű...
 
 
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.