ocilib.OCILIB´Â OCLE µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÏ´Â C·Î ÀÛ¼ºµÈ C·Î ÀÛ¼ºµÈ ¿ÀÇ ¼Ò½º ¶óÀ̺귯¸®ÀÔ´Ï´Ù. | |
Áö±Ý ´Ù¿î·Îµå |
ocilib. ¼øÀ§ ¹× ¿ä¾à
±¤°í
ocilib. ű×
ocilib. ¼³¸í
Ocilib´Â Oracle µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÏ´Â C·Î ÀÛ¼ºµÈ C·Î ÀÛ¼ºµÈ ¿ÀÇ ¼Ò½º ¶óÀ̺귯¸®ÀÔ´Ï´Ù. OCILIB´Â C·Î ÀÛ¼ºµÈ ¿ÀÇ ¼Ò½º ¶óÀ̺귯¸®ÀÔ´Ï´Ù. Oracle Databases.ocilib ÇÁ·ÎÁ§Æ®°¡ °·ÂÇÑ OCI (Oracle È£Ãâ ÀÎÅÍÆäÀ̽º - Oracle È£Ãâ ÀÎÅÍÆäÀ̽º - Oracle¿¡¼ Á¦°øµÇ´Â ·Î¿ì ·¹º§ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º)°¡ °·ÂÇÏÁö¸¸ º¹ÀâÇÑ API.ocilib°¡ OCI »ó´Ü¿¡ Áö¾îÁ³½À´Ï´Ù. º¹À⼺À» ¼û±â°íº¸´Ù °£´ÜÇÏ°í ÀÐÀ» ¼ö ÀÖ°í Àç»ç¿ë °¡´ÉÇÑ API¸¦ Á¦¾ÈÇÕ´Ï´Ù. Ocilib´Â ¹«·á (¿ÀÇ ¼Ò½º -LGPL)ÀÌ¸ç ¼Ò½º ÄÚµå´Â Ç÷§Æû µ¶¸³Àû ÀÎ °ÍÀÔ´Ï´Ù .It´Â ÃÖ´ë 150 °³ÀÇ °£´ÜÇÏ°í Á÷¼±Àû ÀÎ API.InstallationÀ» Á¦°øÇÕ´Ï´Ù. ¾ÆÄ«À̺긦 untar? $ cd ocilib-x.y.z? $ ./configure? $ ./make? $ ./make ¼³Ä¡ (`su``su` ´ÔÀÌ`su` ÇÊ¿ä°¡ ÇÊ¿äÇÕ´Ï´Ù)? Oracle Library Path¿Í Ocilib ¶óÀ̺귯¸® °æ·Î°¡ °øÀ¯ ¶óÀ̺귯¸® º¯¼ö (LB_LIBRARY_PATH, ....)¿¡ Á¤ÀǵǾî ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. ¿©±â¼ "OCILIB"ÀÇ ¸î °¡Áö ÁÖ¿ä ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ¡¤ ¼ø¼ö ISO C ÄÚµå (ÀϺΠWCHAR C99 ÇÁ·ÎÅä ŸÀÔÀ» Á¦¿ÜÇÑ C90) ¡¤ ½ÇÁ¦·Î ½¬¿î ÄÚµù ¡¤ µ¥ÀÌÅÍ ¹ÙÀεù ¡¤ Á¤Àû / °øÀ¯ Oracle Linkage¸¦ Áö¿øÇÕ´Ï´Ù ¡¤ ·±Å¸ÀÓ¿¡ OCI libs¸¦·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù (ÄÄÆÄÀÏ ½Ã°£¿¡ Oracle ¶óÀ̺귯¸® ¾øÀ½) ¡¤ Àüü À¯´Ï ÄÚµå Áö¿ø ¡¤ ´ÙÁß Çà °¡Á® ¿À±â ¡¤ ±Û·Î¹ú °Å·¡ ¡¤ Ä¿¼ ¡¤ PL / SQL ºí·Ï ¡¤ LOB (BLOB / CLOB / BFILES) ¡¤ ±ä µ¥ÀÌÅÍ À¯Çü (Á¶°¢ º° ÀÛ¾÷) ¡¤ "¸ðµÎ·Î"Æ÷¸Ë µÈ ÇÔ¼ö¸¦ Á¦°øÇÕ´Ï´Ù (PRINTFÀÇ LIKE) ¡¤ °¡Àå ÀÛÀº ¸Þ¸ð¸® »ç¿ë °¡´É ¡¤ ³¯Â¥ / ½Ã°£ °ü¸® ¡¤ ¿À·ù ó¸® ¡¤ µ¥ÀÌÅͺ£À̽º °³Ã¼ ¼³¸í ¡¤ ÈǸ¢ÇÑ °ø¿¬ (½ºÆ®·¹ÀÌÆ® OCI ĸ½¶È) ¡¤ ¸Þ¸ð¸® ´©¼ö¿¡ ´ëÇØ Å×½ºÆ®Çß½À´Ï´Ù. ȣȯ¼º : ¡¤ ÇöÀç ¼Ò½º´Â ¼ø¼öÇÑ ISO CÀÌ¸ç ¸ðµç C90 ȣȯ ÄÄÆÄÀÏ·¯ (ANSI ¹öÀü) ¹× C90 / 99 ȣȯ ÄÄÆÄÀÏ·¯ (À¯´Ï ÄÚµå ¹öÀü)·Î ÄÄÆÄÀÏÇؾßÇÕ´Ï´Ù. ¡¤ Á¾¼Ó Ç÷§Æû ÄÚµå ¾øÀ½ (Áö¿øµÇ´Â °æ¿ì ·±Å¸Àӷεå Á¦¿Ü) ±×°ÍÀº ´ÙÀ½°ú °°ÀÌ ÄÄÆÄÀϵǰí Å×½ºÆ®µÇ¾ú½À´Ï´Ù. ¡¤ Linux¿¡¼ GCC 4.21 (OpenSUSE 10.3, RedHat ¼¹ö) ¡¤ MSC ÄÄÆÄÀÏ·¯ (VC6 / VS2005) (Windows 2000, XP, Vista) ¶óÀ̺귯¸®´Â ´ÙÀ½°ú °°ÀÌ °Ë»çµÇ¾ú½À´Ï´Ù. ¡¤ ¿À¶óŬ 8i. ¡¤ ¿À¶óŬ 9i. ¡¤ ¿À¶óŬ 10g. ¡¤ ¿À¶óŬ 11g. ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : SQL ¸í·É ¹× µ¿»ç °Ë»öÀ» Ãß°¡Çß½À´Ï´Ù. ¡¤ OCI_GETSQLVERB () Ãß°¡ ¡¤ OCI_GETSQLCOMMAND () ¡¤ 124 Oracle SQL ¸í·É Äڵ忡 OCI_SFC_XXXX »ó¼ö°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ¹è¿ DML¿¡ ´ëÇÑ ÀÏ°ý ó¸® µÈ ¿À·ù¿¡ ´ëÇÑ Áö¿ø Ãß°¡ : ¡¤ OCI_ErrorGetRow () ¡¤ OCI_GETBATCHERROR () ¡¤ OCI_GETBATCHERRORCOUNT () Ãß°¡µÊ ¡¤ ¾÷µ¥ÀÌÆ® µÈ ¾î·¹ÀÌ ÀÎÅÍÆäÀ̽º µ¥¸ð (DEMO / ARRAY.C) È®Àå LOB Áö¿ø : ¡¤ OCI_LOBGETMAXSIZE () Ãß°¡µÊ ¡¤ oci_lobflush () È®Àå Ä÷º¼Ç API : ¡¤ OCI_COLLCLEAR () ¡¤ oci_colltrim (), oci_collegetmax (), oci_collegetsize () 'int'À¯Çü ´ë½Å 'ºÎÈ£¾ø´Â int'¸¦ Ãë¼ÒÇϰųª ¸®ÅÏÇÏ´Â OCI_CollGetSize () ¡¤ ¼öÁ¤ µÈ OCI_CollTrim ()Àº 0 °ªÀ» ´ÙµëÀ» ¼öÀÖ´Â ¿ä¼Ò ¼ö·Î Çã¿ëÇÕ´Ï´Ù. ¼öÁ¤µÇ°í È®Àå µÈ BIND API : ¡¤ OCI_BINDSETNULL () ¡¤ OCI_BINDSETNULLATPOS () Ãß°¡ ¡¤ OCI_BINDISNULL () ¡¤ OCI_BINDISNULLATPOS () Ãß°¡ ¡¤ ÀÌÁ¦ OCI_BINDSETXXX () È£Ãâ ÁÖÀ§¿¡ »ç¿ëµÇÁö ¾Ê´Â ¸ÅÅ©·Î·Î Á¤ÀÇ µÈ ¼öÁ¤ µÈ OCI_SETNULLXXX () È£Ãâ È®Àå oci_immediatexxx () API : ¡¤ °´Ã¼, Ä÷º¼Ç ¹× Ref¿¡ ´ëÇÑ ´©¶ô µÈ Áö¿øÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù. ¡¤ OCI_ARG_OBJECT, OCI_ARG_COLLECTION ¹× OCI_ARG_REF°¡ Ãß°¡µÇ¾ú½À´Ï´Ù È®Àå OCI_XXXFMT () API : ¡¤ Refs¿¡ ´ëÇÑ Áö¿øÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù ¡¤ Refs¿¡ ´ëÇÑ ÅäÅ« ½Äº°ÀÚ '% r'Ãß°¡ ±âŸ º¯°æ : ¡¤ OCI_PING () ¡¤ ³»ºÎ Oracle OCI ȯ°æ ÇÚµéÀ» ÇÒ´ç ÇÒ ¼ö¾ø´Â °æ¿ì ¿¹¿Ü À¯Çü OCI_ERR_CREATE_OCI_ENVironment Ãß°¡ ¡¤ ¾÷µ¥ÀÌÆ® µÈ ¹®¼ (ÆäÀÌÁö) ¡¤ ¼öÁ¤ µÈ GNU ±¸¼º ½ºÅ©¸³Æ® : Oracle OCI ¶óÀ̺귯¸® Æú´õ °Ë»ö ½ÃÄö½º´Â ´ÙÀ½°ú °°½À´Ï´Ù. lib32, lib, lib64 ±âŸ ¼öÁ¤ »çÇ× : ¡¤ ¼Ò½º Ä÷º¼Ç¿¡ ´ë»ó Ä÷º¼ÇÀ» ÇÒ´ç ÇÑ °íÁ¤ OCI_COLLASSIGN () ¡¤ ÀϺΠÁ÷Á¢ °æ·Î ±â´É ÇÁ·ÎÅä ŸÀÔ¿¡¼ ´©¶ô µÈ Const ÇÑÁ¤ÀÚ °íÁ¤ ¡¤ ·ÎÄà Ä÷º¼Ç¿¡ ´ëÇØ false¸¦ ¹ÝȯÇÏ´Â ¼ýÀÚ À¯Çü¿¡ ´ëÇØ oci_elemsetxxxxx () ¼öÁ¤ ¡¤ °íÁ¤ PL / SQL Å×ÀÌºí ºñ ½ºÄ®¶ó À¯Çü¿¡ ´ëÇÑ ¹ÙÀεå (v3.2.0 ÀÌÈÄÀÇ À߸øµÈ °ª) ¡¤ OCILIB ÃʱâÈÀÇ ¿À·ù 󸮱⿡¼ ÀϺΠOCI_ERRORGETXXX () È£ÃâÀ» È£Ãâ ÇÒ ¶§ °¡´ÉÇÑ ¹«ÇÑ Àç±Í¸¦ °íÁ¤½Ãŵ´Ï´Ù. ¡¤ ¿À¶óŬ °øÀ¯ libÀ» ãÀ» ¼ö¾ø´Â °æ¿ì °íÁ¤ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ªÁö ¾ÊÀ¸¸é ¶óÀÌÇÁ·¹ÀÌ À̸§ÀÌ À¯´Ï ÄÚµå ºôµå¿¡¼ ¿Ã¹Ù¸£Áö ¾Ê¾Ò½À´Ï´Ù. ¡¤ °íÁ¤ OCI_GETSTRING () : È¥ÇÕ charset ºôµå¿¡¼ ¸®ÅÏ µÈ ¹®ÀÚ¿ÀÌ ¼ýÀÚ ¿¿¡ Àß ·È½À´Ï´Ù. ¡¤ °íÁ¤ ³»ºÎ ±â´É OCI_MoveString () inplace ¹®ÀÚ¿ ¹öÆÛ Æ÷Àå / È®Àå ¹ÛÀ¸·Î ³ª ¹®ÀÚ¿ ¹ÙÀεù Ãâ·Â /¿¡¼ ¼öÁ¤ : ¹®Àº PL / SQL ÄÚµåÀÇ °æ¿ì ¡¤ ¹ÙÀεå Ç¥½Ã ÀÌÁ¦ ½ÇÇà È£Ãâ ÈÄ "NOT NULL"·Î ÃʱâȵÇÁö ¾Ê½À´Ï´Ù À¯´Ð½º Ç÷§Æû¿¡¼ ´Ù¾çÇÑ ¹®ÀÚ¿ ¹ÙÀεù (È¥ÇÕ ¹× À¯´Ï ÄÚµå ºôµå) : ¡¤ ¹ÙÀεù µÈ ¹®ÀÚ¿ÀÌ ÀϺΠPL / SQL ÄÚµå ¶Ç´Â »ç¿ëÀÚ°¡ ´ÜÃà µÈ °æ¿ì Æ®·¹ÀÏ ¸µ ³Î ¹®ÀÚ°¡ ´©¶ôµÇ¾ú½À´Ï´Ù. ¡¤ µ¥ÀÌÅÍ ·»ÁîÀÇ ¹ÙÀÎµå ¾î·¹ÀÌÀÇ ³»ºÎ ÃʱâÈ : LENÀº NULL Å͹̳×ÀÌÅÍ ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ°í ÀϺΠ¸Þ¸ð¸® ¼Õ»óÀ» ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ ÀϺΠµ¥¸ð ¿¹Á¦ ÄÚµå ¼öÁ¤ ¡¤ ºÎ¸ð Ç¥½Ã±â ¹è¿ÀÇ ³»ºÎ OCI_Object ÇÏÀ§ °´Ã¼ ¿ÀÇÁ¼ÂÀÇ °íÁ¤ °è»ê (SegFaults ¹× / ¶Ç´Â À߸ø Ç¥½Ã±â °ªÀÌ ¹ß»ýÇÒ ¼ö ÀÖÀ½) OCI_ELEM ³»ºÎ NULL Ç¥½Ã±âÀÇ ¹®Á¦°¡ ÇØ°áµÇ¾ú½À´Ï´Ù. ¡¤ °æ¿ì¿¡ µû¶ó NULL Æ÷ÀÎÅÍ·Î ÀÎÇÑ SegFault°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ OCI_ELEM Çڵ鿡 ÀÇÇØ °íÁ¤ µÈ OCI_OBJECT ÇÚµéÀÇ °æ¿ì ¿ÀºêÁ§Æ® ³»ºÎ Ç¥½Ã±â ½ºÆ® Ǫ·¹ÀÌ°¡ Á¦´ë·Î ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ½ / ¸®Æ®¸®ºê
ocilib. °ü·Ã ¼ÒÇÁÆ®¿þ¾î