| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 31. ECPG - C¾ð¾î¿¡ ÀÇÇÑ ¸ÅÀÔSQL | Fast Forward | Next |
¿©±â±îÁö, ¸ÅÀÔ SQL CÇÁ·Î±×·¥ÀÇ ÀÛ¼º ¹æ¹ýÀº ÀÌÇØÇÒ ¼ö ÀÖ¾ú´Ù°í »ý°¢ÇÕ´Ï´Ù. ¿©±âºÎÅÍ´Â ±× ÄÄÆÄÀÏ ¹æ¹ý¿¡ ´ëÇØ À̾߱âÇÕ´Ï´Ù. ÄÄÆÄÀÏÀÇ Àü¿¡, ±× ÆÄÀÏÀ» ¸ÅÀÔSQL C¿¡ ÅëÇÕ´Ï´Ù. À̰ÍÀº, »ç¿ëÇÏ´Â SQL¹®À» Ưº°ÇÑ ÇÔ¼ö È£Ãâ·Î º¯È¯ÇÕ´Ï´Ù. ÄÄÆÄÀÏ ÈÄ, ÇÊ¿äÇÑ ÇÔ¼ö¸¦ °¡Áö´Â Ưº°ÇÑ ¶óÀ̺귯¸®¿Í ¸µÅ©ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö´Â ÀÎÀڷκÎÅÍ Á¤º¸¸¦ ²¨³», libpq¸¦ »ç¿ëÇØ ±× SQL¸¦ ½ÇÇàÇØ, Ãâ·Â¿ëÀ¸·Î ÁöÁ¤µÈ ÀÎÀÚ¿¡ ±× °á°ú¸¦ ÀúÀåÇÕ´Ï´Ù.
ÇÁ¸®ÇÁ·Î¼¼¼ ÇÁ·Î±×·¥Àº ecpg¶ó´Â À̸§À¸·Î, Åë»ó PostgreSQLÀÇ ¼³Ä¡¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. Åë»ó, ¸ÅÀÔ SQL ÇÁ·Î±×·¥ÀÇ È®ÀåÀÚ(extension)´Â . pgc·Î ÇÕ´Ï´Ù. prog1.pgc¶ó´Â À̸§ÀÇ ÇÁ·Î±×·¥ ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì, ´Ü¼øÇÏ°Ô ÀÌÇϸ¦ È£ÃâÇÏ´Â °ÍÀ¸·Î »çÀü 󸮸¦ ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ecpg prog1.pgc
À̰ÍÀº prog1.c¶ó´Â À̸§ÀÇ ÆÄÀÏÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÀÔ·Â ÆÄÀÏÀÌ ÀÌ Á¦¾È ÆÐÅÏ¿¡ µû¸¥ À̸§ÀÌ ¾Æ´Ñ °æ¿ì, -o ¿É¼ÇÀ» »ç¿ëÇØ ¸í½ÃÀûÀ¸·Î Ãâ·Â ÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
»çÀü ó¸® ÈÄÀÇ ÆÄÀÏÀº º¸ÅëÀ¸·Î ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
cc -c prog1.c
»ý¼ºµÈ C ¼Ò½º ÆÄÀÏÀº PostgreSQLInstallation¿¡ ºÎ¼öÇÏ´Â Çì´õ ÆÄÀÏÀ» Æ÷ÇÔÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ±âº»°ªÀ¸·Î °Ë»öµÇÁö ¾Ê´Â Àå¼Ò¿¡ PostgreSQL¸¦ ¼³Ä¡ÇßÀ» °æ¿ì´Â, ÄÄÆÄÀÏ¿ëÀÇ ¸í·É ¶óÀο¡ -I/usr/local/pgsql/include¿Í °°Àº ¿É¼ÇÀ» Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
¸ÅÀÔ SQL ÇÁ·Î±×·¥À» ¸µÅ©Çϱâ À§Çؼ´Â, ÀÌÇÏ¿Í °°ÀÌ, libecpg¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
cc -o myprog prog1.o prog2.o ... -lecpg
¹Ýº¹ÀÌ µË´Ï´Ù¸¸, ¸í·É ¶óÀο¡ -L/usr/local/pgsql/lib¶ó°í ÇÏ´Â ¿É¼ÇÀ» Ãß°¡ÇÒ Çʿ䰡 ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. -L/usr/local/pgsql/lib to that command line.
´ë±Ô¸ð ÇÁ·ÎÁ§Æ®ÀÇ ±¸Ãà 󸮸¦ make¸¦ »ç¿ëÇØ °ü¸®Çϰí ÀÖ´Â °æ¿ì, ÀÌÇÏÀÇ ¾Ï¹¬ ±ÔÄ¢À» Makefile¿¡ Æ÷ÇÔÇØ µÎ¸é Æí¸®ÇÕ´Ï´Ù.
ECPG = ecpg
%.c: %.pgc
$(ECPG) $<
ecpg¸í·ÉÀÇ ¿ÏÀüÇÑ ±¸¹®Àº ecpg ¿¡ ¼³¸íÀÌ ÀÖ½À´Ï´Ù.
configureÀÇ --enable-thread-safety¸í·É ¶óÀÎ ¿É¼ÇÀ» »ç¿ëÇØ ±¸ÃàÇßÀ» °æ¿ì, ecpg¶óÀ̺귯¸®´Â ¾²·¹µå ¼¼ÀÌÇÁÀÔ´Ï´Ù (Ŭ¶óÀÌ¾ðÆ® ÄÚµåÀÇ ÄÄÆÄÀϽÿ¡ ´Ù¸¥ ¾²·¹µå °ü·ÃÀÇ ¸í·É ¶óÀÎ ¿É¼ÇÀ» »ç¿ëÇÒ Çʿ䰡 ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù).