¸±¸®½º Á¤º¸


|40.9 ºÎ·Ï C DB2 CLI ¹× ODBC

|´ÙÀ½Àº ÀÌ ºÎ·Ï¿¡ Ãß°¡µÈ »õ ¼½¼ÇÀÔ´Ï´Ù.

|40.9.1 ODBC À¯´ÏÄÚµå ÀÀ¿ëÇÁ·Î±×·¥

| |

|À¯´ÏÄÚµå ODBC ÀÀ¿ëÇÁ·Î±×·¥Àº ÁÖ·Î UCS-2·Î ¹®ÀÚ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í °Ë»öÇÕ´Ï´Ù. |ODBC ÇÔ¼ö('W' Á¢¹ÌºÎ)ÀÇ À¯´ÏÄÚµå ¹öÀüÀ» È£ÃâÇÏ¿© ±×¸®°í |À¯´ÏÄÚµå µ¥ÀÌÅÍ À¯ÇüÀ» Áö½ÃÇÏ¿© À̸¦ ¼öÇàÇÕ´Ï´Ù. |ÀÀ¿ëÇÁ·Î±×·¥Àº ¸í½ÃÀûÀ¸·Î Áö¿ª ÄÚµå ÆäÀÌÁö¸¦ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. |ÀÀ¿ëÇÁ·Î±×·¥Àº °è¼Ó ANSI ÇÔ¼ö¸¦ È£ÃâÇÏ°í Áö¿ª ÄÚµå ÆäÀÌÁö ¹®ÀÚ¿­À» Àü´ÞÇÕ´Ï´Ù.

|¿¹¸¦ µé¾î, ÀÀ¿ëÇÁ·Î±×·¥Àº SQLConnectW()¸¦ È£ÃâÇÏ°í DSN »ç¿ëÀÚ ID¿Í ¾ÏÈ£¸¦ |À¯´ÏÄÚµå Àμö·Î Àü´ÞÇÕ´Ï´Ù. ±×·± µÚ SQLExecDirectW()¸¦ È£ÃâÇÏ°í À¯´ÏÄÚµå SQL¹®¿¡ |Àü´ÞÇÑ µÚ, ANSI Áö¿ª ÄÚµå ÆäÀÌÁö ¹öÆÛ(SQL_C_CHAR)¿Í À¯´ÏÄÚµå ¹öÆÛ(SQL_C_WCHAR)ÀÇ |Á¶ÇÕÀ» ¹ÙÀεåÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º µ¥ÀÌÅÍ À¯ÇüÀº Áö¿ª ÄÚµå ÆäÀÌÁö ¶Ç´Â UCS-2 ¹× UTF-8À̾î¾ß ÇÕ´Ï´Ù.

|CLI ÀÀ¿ëÇÁ·Î±×·¥ÀÌ SQL_ATTR_ANSI_APP¸¦ SQL_AA_FALSE·Î ¼³Á¤ÇÏ¿© |SQLConnectW¸¦ È£ÃâÇϰųª SQLSetConnectAttrÀ» È£ÃâÇÒ °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥Àº |À¯´ÏÄÚµå ÀÀ¿ëÇÁ·Î±×·¥À¸·Î °£Áֵ˴ϴÙ. ÀÌ´Â ¸ðµç CHAR µ¥ÀÌÅÍ°¡ UTF-8 Çü½ÄÀ¸·Î |µ¥ÀÌÅͺ£À̽º·Î ¼Û¼ö½ÅµÊÀ» ÀǹÌÇÕ´Ï´Ù. ±×·± µÚ ÀÀ¿ëÇÁ·Î±×·¥Àº CHAR µ¥ÀÌÅ͸¦ Áö¿ª ÄÚµå ÆäÀÌÁöÀÇ |SQL_C_CHAR ¹öÆÛ·Î(µ¥ÀÌÅÍ À¯½Ç °¡´É), µ¥ÀÌÅÍ À¯½Ç¾øÀÌ UCS-2ÀÇ SQL_C_WCHAR ¹öÆÛ·Î °¡Á®¿É´Ï´Ù.

|ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À§ µÎ È£Ãâ Áß ¾î´À °Íµµ ¼öÇàÇÏÁö ¾ÊÀ¸¸é, |CHAR µ¥ÀÌÅÍ´Â ¼­¹ö¿¡¼­ÀÀ¿ëÇÁ·Î±×·¥ Áö¿ª ÄÚµå ÆäÀÌÁö·Î º¯È¯µË´Ï´Ù. |ÀÌ´Â SQL_C_WCHAR·Î °¡Á®¿Â CHAR µ¥ÀÌÅÍ¿¡ µ¥ÀÌÅÍ À¯½ÇÀÌ ÀÖÀ» ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.

|DB2CODEPAGE ÀνºÅϽº º¯¼ö°¡ ÄÚµå ÆäÀÌÁö 1208(UTF-8)·Î ¼³Á¤µÇ¾î ÀÖÀ¸¸é |(db2setÀ» »ç¿ëÇÏ¿©), ÀÀ¿ëÇÁ·Î±×·¥Àº UTF-8ÀÌ ÀÌÁ¦ Áö¿ª ÄÚµå ÆäÀÌÁöÀ̹ǷΠ|¸ðµç CHAR µ¥ÀÌÅ͸¦ UTF-8·Î ¼ö½ÅÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº ¶ÇÇÑ ¸ðµç CHAR ÀÔ·Â |µ¥ÀÌÅÍ ¿ª½Ã UTF-8ÀÎÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ ODBC´Â ¸ðµç |SQL_C_WCHAR µ¥ÀÌÅÍ°¡ |¿ø½Ã endian Çü½ÄÀ̶ó°í °¡Á¤ÇÕ´Ï´Ù. CLI´Â |SQL_C_WCHAR¿¡ ÇÊ¿äÇÑ ¹ÙÀÌÆ® ¸®¹ö¼³À» ¼öÇàÇÕ´Ï´Ù.

|40.9.1.1 ODBC À¯´ÏÄÚµå ´ë ºñ À¯´ÏÄÚµå ÀÀ¿ëÇÁ·Î±×·¥

|ÀÌ DB2 Universal Database ¸±¸®½º¿¡´Â SQLConnectW() API°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. |À¯´ÏÄÚµå µå¶óÀ̹ö´Â µå¶óÀ̹ö °ü¸® ÇÁ·Î±×·¥ÀÌ À¯´ÏÄÚµå µå¶óÀ̹ö·Î ÀνÄÇÏ´Â ¼ø¼­´ë·Î SQLConnectW¸¦ ³»º¸³»¾ß ÇÕ´Ï´Ù. ¸¹Àº ÀÀ¿ëÇÁ·Î±×·¥( Microsoft Access ¹× Visual Basic°ú °°ÀÌ)ÀÌ SQLConnectW()¸¦ È£ÃâÇÔÀ» À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌÀü ¸±¸®½ºÀÇ DB2 Universal Database¿¡¼­´Â DB2 CLI°¡ ÀÌ API¸¦ Áö¿øÇÏÁö ¾Ê¾Ò°í, µû¶ó¼­ ODBC µå¶óÀ̹ö¿¡ ÀÇÇØ À¯´ÏÄÚµå µå¶óÀ̹ö·Î ÀÎ½ÄµÉ ¼ö ¾ø¾ú½À´Ï´Ù. |ÀÌ´Â ODBC µå¶óÀ̹ö °ü¸® ÇÁ·Î±×·¥ÀÌ ¸ðµç À¯´ÏÄÚµå µ¥ÀÌÅ͸¦ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Áö¿ª ÄÚµå ÆäÀÌÁö·Î º¯È¯Çϵµ·Ï ¸¸µé¾ú½À´Ï´Ù. SQLConnectW() ÇÔ¼öÀÇ Áö¿øÀÌ Ãß°¡µÇ¾î, À̵é ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÌÁ¦ À¯´ÏÄÚµå ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ¿¬°áµÇ°í DB2 CLI°¡ ¸ðµç ÇÊ¿äÇÑ µ¥ÀÌÅÍ º¯È¯À» °üÀåÇÕ´Ï´Ù.

|DB2 CLI´Â ÀÌÁ¦ À¯´ÏÄÚµå API(Á¢¹ÌºÎ "W") ¹× Á¤±Ô ANSI |API¸¦ ½ÂÀÎÇÕ´Ï´Ù. ODBC´Â Á¢¹ÌºÎ "A"·Î ÇÔ¼ö ¼¼Æ®¸¦ Á¤ÀÇÇÏÁö¸¸, µå¶óÀ̹ö |°ü¸® ÇÁ·Î±×·¥Àº Á¢¹ÌºÎ°¡ "A"ÀÎ ANSI ÇÔ¼ö¸¦ µå¶óÀ̹ö·Î Àü´ÞÇÏÁö |¾Ê½À´Ï´Ù. ´ë½Å, ÀÌ ÇÔ¼öµéÀ» Á¢¹ÌºÎ°¡ ¾ø´Â ANSI ÇÔ¼ö È£Ãâ·Î |º¯È¯ÇÑ µÚ, ±×°ÍÀ» µå¶óÀ̹ö·Î Àü´ÞÇÕ´Ï´Ù.

|SQLConnectW() API¸¦ È£ÃâÇÏ´Â ODBC ÀÀ¿ëÇÁ·Î±×·¥À» À¯´ÏÄÚµå |ÀÀ¿ëÇÁ·Î±×·¥À̶ó°í ÇÕ´Ï´Ù. ODBC µå¶óÀ̹ö °ü¸® ÇÁ·Î±×·¥Àº |È£ÃâµÈ ÀÀ¿ëÇÁ·Î±×·¥ ¹öÀü¿¡ »ó°ü¾øÀÌ Ç×»ó SQLConnectW() |API¸¦ È£ÃâÇϹǷÎ, ODBC´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ANSI ¶Ç´Â UNICODE ÀÀ¿ëÇÁ·Î±×·¥À¸·Î |Ãë±ÞµÇ¾î¾ß ÇÒ °æ¿ì µå¶óÀ̹ö¿¡°Ô ¾Ë¸®±â À§ÇØ |SQL_ATTR_ANSI_APP ¿¬°á ¼Ó¼ºÀ» µµÀÔÇß½À´Ï´Ù. SQL_ATTR_ANSI_APP°¡ |SQL_AA_FALSE·Î ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, DB2 CLI´Â ¸ðµç À¯´ÏÄÚµå µ¥ÀÌÅ͸¦ |¼­¹ö·Î º¸³»±â Àü¿¡ Áö¿ª ÄÚµå ÆäÀÌÁö·Î º¯È¯ÇÕ´Ï´Ù.


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