:meta-keywords: cubrid odbc driver, cubrid odbc api, asp sample :meta-description: CUBRID ODBC driver supports ODBC version 3.52. It also ODBC core and some parts of Level 1 and Level 2 API. CUBRID ODBC driver is written based on CCI API. ************* ODBC 드ë¼ì´ë²„ ************* CUBRID ODBC 드ë¼ì´ë²„는 ODBC 3.52 ë²„ì „ì„ ì§€ì›í•˜ë©°, ODBC 코어 부분과 Level 1ê³¼ Level 2 ì¼ë¶€ API를 ì§€ì›í•œë‹¤. CUBRID ODBC 드ë¼ì´ë²„는 ODBC Spec 3.x를 기반으로 구현ë˜ì—ˆìœ¼ë¯€ë¡œ ODBC Spec 2.xì„ ì´ìš©í•˜ì—¬ 작성한 í”„ë¡œê·¸ëž¨ì— ëŒ€í•´ì„œ 하위 í˜¸í™˜ì„±ì„ ì™„ë²½í•˜ê²Œ 보장하지는 않는다. CUBRID ODBC 드ë¼ì´ë²„는 CCI API를 기반으로 작성ë˜ì—ˆì§€ë§Œ, 예외ì 으로 :ref:`CCI_DEFAULT_AUTOCOMMIT <cci_default_autocommit>` 파ë¼ë¯¸í„°ì˜ ì˜í–¥ì„ 받지 않는다. .. note:: ODBCê°€ CCI_DEFAULT_AUTOCOMMITì˜ ì˜í–¥ì„ 받지 않는 ê²ƒì€ 9.3 ë²„ì „ë¶€í„°ì´ë‹¤. ê·¸ ì´ì „ ë²„ì „ì—서는 CCI_DEFAULT_AUTOCOMMIT를 OFF로 ì„¤ì •í•´ì•¼ 한다. .. FIXME: 별ë„로 ODBC 드ë¼ì´ë²„를 다운로드하거나 ODBC 드ë¼ì´ë²„ì— ëŒ€í•œ ìµœì‹ ì •ë³´ë¥¼ 확ì¸í•˜ë ¤ë©´ http://www.cubrid.org/wiki_apis/entry/cubrid-odbc-driver\ ì— ì ‘ì†í•œë‹¤. **CUBRID와 ODBCì˜ ë°ì´í„° 타입 매핑** 다ìŒì€ CUBRIDê°€ ì§€ì›í•˜ëŠ” ë°ì´í„° 타입과 ODBC ë°ì´í„° íƒ€ìž…ì„ ë§¤í•‘í•œ 표ì´ë‹¤. +-------------------------+--------------------------------+ | CUBRID ë°ì´í„° 타입 | ODBC ë°ì´í„° 타입 | +=========================+================================+ | CHAR | SQL_CHAR | +-------------------------+--------------------------------+ | VARCHAR | SQL_VARCHAR | +-------------------------+--------------------------------+ | STRING | SQL_LONGVARCHAR | +-------------------------+--------------------------------+ | BIT | SQL_BINARY | +-------------------------+--------------------------------+ | BIT VARYING | SQL_VARBINARY | +-------------------------+--------------------------------+ | NUMERIC | SQL_NUMERIC | +-------------------------+--------------------------------+ | INT | SQL_INTEGER | +-------------------------+--------------------------------+ | SHORT | SQL_SMALLINT | +-------------------------+--------------------------------+ | MONETARY | SQL_DOUBLE | +-------------------------+--------------------------------+ | FLOAT | SQL_FLOAT | +-------------------------+--------------------------------+ | DOUBLE | SQL_DOUBLE | +-------------------------+--------------------------------+ | BIGINT | SQL_BIGINT | +-------------------------+--------------------------------+ | DATE | SQL_TYPE_DATE | +-------------------------+--------------------------------+ | TIME | SQL_TYPE_TIME | +-------------------------+--------------------------------+ | TIMESTAMP | SQL_TYPE_TIMESTAMP | +-------------------------+--------------------------------+ | DATETIME | SQL_TYPE_TIMESTAMP | +-------------------------+--------------------------------+ | OID | SQL_CHAR(32) | +-------------------------+--------------------------------+ | SET, MULTISET, SEQUENCE | SQL_VARCHAR(MAX_STRING_LENGTH) | +-------------------------+--------------------------------+ | ENUM | SQL_VARCHAR | +-------------------------+--------------------------------+ ODBC 설치 ë° ì„¤ì • ================= **기본 환경** * CUBRID 2008 R4.4 (8.4.4) ì´ìƒ 32비트 ë˜ëŠ” 64비트 **ODBC 드ë¼ì´ë²„ ì„¤ì •** CUBRID ODBC Driver는 CUBRID 설치 시 ìžë™ìœ¼ë¡œ 설치ë˜ë©°, [ì œì–´íŒ] > [관리 ë„구] > [ë°ì´í„° ì›ë³¸(ODBC)]ì„ ì‹¤í–‰í•˜ë©´ [드ë¼ì´ë²„] íƒì—서 확ì¸í• 수 있다. .. image:: /images/image77.gif **64비트 Windowsì—서 32비트 ODBC 드ë¼ì´ë²„ ì„ íƒ** 32비트 ì‘ìš© í”„ë¡œê·¸ëž¨ì„ ìˆ˜í–‰í•˜ëŠ” 경우, 32비트 ODBC 드ë¼ì´ë²„를 사용해야 한다. 64비트 Windows OSì—서 32비트 ODBC 드ë¼ì´ë²„를 ì„ íƒí•´ì•¼ 하는 경우, C:\WINDOWS\SysWOW64\odbcad32.exe를 실행하면 ëœë‹¤. 마ì´í¬ë¡œì†Œí”„트 윈ë„우즈 64비트 플랫í¼ì€ 32비트 ì‘ìš© í”„ë¡œê·¸ëž¨ì´ 64비트 환경ì—서 수행 가능한 í™˜ê²½ì„ ì œê³µí•˜ëŠ”ë°, ì´ë¥¼ WOW64(Windows-32-on-Windows-64)ë¼ê³ 한다. ì´ í™˜ê²½ì€ 32비트 ì „ìš© ë ˆì§€ìŠ¤íŠ¸ë¦¬ ë³µì‚¬ë³¸ì„ ìœ ì§€í•˜ê³ ìžˆë‹¤. **DSN ì„¤ì •** CUBRID ODBC Driverê°€ 확ì¸ë˜ì—ˆë‹¤ë©´ ì‘ìš© 프로그램ì—서 ì ‘ì†í•˜ë ¤ëŠ” ë°ì´í„°ë² ì´ìŠ¤ë¡œ DSNì„ ì„¤ì •í•œë‹¤. DSN ì„¤ì •ì„ ìœ„í•´ ODBC ë°ì´í„° ì›ë³¸ 관리ìžì—서 [추가] ë²„íŠ¼ì„ í´ë¦í•˜ë©´ 다ìŒê³¼ ê°™ì€ ëŒ€í™” ìƒìžê°€ 나타난다. **CUBRID Driver** 를 ì„ íƒí•˜ê³ [마침] ë²„íŠ¼ì„ í´ë¦í•œë‹¤. .. image:: /images/image78.gif [Config CUBRID Data Sources] 대화 ìƒìžê°€ 나타나면 다ìŒê³¼ ê°™ì€ ë‚´ìš©ì„ ìž…ë ¥í•œë‹¤. .. image:: /images/image79.png * **DSN** : ë°ì´í„° ì›ë³¸ì˜ ì´ë¦„ì„ ì„¤ì •í•œë‹¤. * **DB Name** : ì ‘ì†í• ë°ì´í„°ë² ì´ìФ ì´ë¦„ì„ ìž…ë ¥í•œë‹¤. * **DB User** : ë°ì´í„°ë² ì´ìФ ì‚¬ìš©ìž ì´ë¦„ì„ ìž…ë ¥í•œë‹¤. * **Password** : ë°ì´í„°ë² ì´ìФ ì‚¬ìš©ìž ë¹„ë°€ë²ˆí˜¸ë¥¼ ìž…ë ¥í•œë‹¤. * **Server Address** : ë°ì´í„°ë² ì´ìŠ¤ì˜ í˜¸ìŠ¤íŠ¸ 주소를 ìž…ë ¥í•œë‹¤. **localhost** ë˜ëŠ” 다른 ì„œë²„ì˜ IP 주소를 ìž…ë ¥í•œë‹¤. * **Server Port** : CUBRID ë¸Œë¡œì»¤ì˜ í¬íЏ 번호를 ìž…ë ¥í•œë‹¤. ê¸°ë³¸ê°’ì€ 33000ì´ë‹¤. CUBRID 브로커 í¬íЏ 번호를 확ì¸í•˜ë ¤ë©´ **cubrid_broker.conf** 파ì¼ì—서 BROKER_PORT ê°’ì„ í™•ì¸í•˜ê±°ë‚˜, 터미ë„ì—서 cubrid service status ëª…ë ¹ì„ ìž…ë ¥í•œë‹¤. 터미ë„ì—서 ìž…ë ¥í–ˆì„ ë•Œ í™”ë©´ì€ ë‹¤ìŒê³¼ 같다. .. image:: /images/image80.png * **Charset** : ë°ì´í„°ë² ì´ìŠ¤ì˜ ë¬¸ìžì…‹(charSet) ìž…ë ¥í•œë‹¤. * **Autocommit** : Autocommit mode를 ìž…ë ¥í•œë‹¤. ê¸°ë³¸ê°’ì€ OFFì´ë‹¤. * **Omit Schema** : 스키마 ê°œë…ì„ ì§€ì›í•˜ëŠ” 11.2 ë²„ì „ ì´ìƒì˜ ë°ì´í„°ë² ì´ìФ 서버ì—서 스키마 ì •ë³´ ê´€ë ¨ 함수 사용시 로그ì¸í•œ 사용ìžê°€ ìƒì„±í•œ ìŠ¤í‚¤ë§ˆë§Œì„ ì œê³µí•˜ëŠ” 기능ì´ë‹¤. ì´ ê¸°ëŠ¥ì€ **ERWin**:sup:`TM` ì´ CUBRID 11.2 ë²„ì „ ì´ìƒì„ ì‚¬ìš©í• ê²½ìš° 필요하다 (omit_schema=yes). **YES** ì¸ ê²½ìš° 로그ì¸í•œ 사용ìžê°€ ì†Œìœ í•œ í…Œì´ë¸”/ë·°/Primary Key/Foreign Keyë§Œ ì œê³µë˜ë©°, ì´ë•Œ ì†Œìœ ìžì˜ ì´ë¦„ì€ ì œê±°ëœë‹¤. ê¸°ë³¸ê°’ì€ **NO** ì´ë‹¤ * **FETCH_SIZE** : ODBC 드ë¼ì´ë²„ê°€ ë‚´ë¶€ì 으로 사용하는 CCI ë¼ì´ë¸ŒëŸ¬ë¦¬ì˜ :c:func:`cci_fetch` 함수를 í˜¸ì¶œí• ë•Œë§ˆë‹¤ 서버로부터 fetch하는 ë ˆì½”ë“œì˜ ê°œìˆ˜ë¥¼ ì„¤ì •í•œë‹¤. 위와 ê°™ì´ ìž…ë ¥í•œ 후 [확ì¸]ì„ í´ë¦í•˜ë©´ 다ìŒê³¼ ê°™ì´ [User Data Sources]ì— ë°ì´í„° ì›ë³¸ì´ ì¶”ê°€ëœ ê²ƒì„ í™•ì¸í• 수 있다. .. image:: /images/image81.png **DSNì„ ì‚¬ìš©í•˜ì§€ ì•Šê³ ë°ì´í„°ë² ì´ìŠ¤ì— ì§ì ‘ ì—°ê²°** ì—°ê²° 문ìžì—´ì„ 사용하여 CUBRID ë°ì´í„°ë² ì´ìŠ¤ì— ì§ì ‘ ì—°ê²°í• ìˆ˜ë„ ìžˆë‹¤. ì—°ê²° 문ìžì—´ì˜ 예는 다ìŒê³¼ 같다. :: conn = "driver={CUBRID Driver};server=localhost;port=33000;uid=dba;pwd=;db_name=demodb;" .. note:: CUBRID ë°ì´í„°ë² ì´ìŠ¤ì— ì—°ê²°í•˜ê¸° ì „ì— ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ë¨¼ì € 시작하지 않으면 ODBC 오류가 ë°œìƒí•œë‹¤. ë°ì´í„°ë² ì´ìФ(demodb)를 ì‹œìž‘í•˜ë ¤ë©´ 터미ë„ì— **cubrid server start demodb** ëª…ë ¹ì„ ìž…ë ¥í•œë‹¤. ODBC í”„ë¡œê·¸ëž˜ë° =============== ì—°ê²° 문ìžì—´(connection string) 구성 ----------------------------------- CUBRID ODBC 프로그래ë°ì„ í• ë•Œ ì—°ê²° 문ìžì—´(connection string)ì€ ë‹¤ìŒê³¼ ê°™ì´ ìž‘ì„±í•œë‹¤. +--------------+-----------------------+-----------------------------------------------------------+ | í•목 | 예 | 설명 | +==============+=======================+===========================================================+ | Driver | CUBRID Driver Unicode | 드ë¼ì´ë²„ ì´ë¦„ | +--------------+-----------------------+-----------------------------------------------------------+ | UID | PUBLIC | ì‚¬ìš©ìž ì•„ì´ë”” | +--------------+-----------------------+-----------------------------------------------------------+ | PWD | xxx | 비밀번호 | +--------------+-----------------------+-----------------------------------------------------------+ | FETCH_SIZE | 100 | Fetch í¬ê¸° | +--------------+-----------------------+-----------------------------------------------------------+ | PORT | 33000 | 브로커 í¬íЏ 번호 | +--------------+-----------------------+-----------------------------------------------------------+ | SERVER | 127.0.0.1 | CUBRID 브로커 서버 IP 주소 ë˜ëŠ” 호스트 ì´ë¦„ | +--------------+-----------------------+-----------------------------------------------------------+ | DB_NAME | demodb | ë°ì´í„°ë² ì´ìФ ì´ë¦„ | +--------------+-----------------------+-----------------------------------------------------------+ | DESCRIPTION | cubrid_test | 설명 | +--------------+-----------------------+-----------------------------------------------------------+ | CHARSET | utf-8 | 문ìžì…‹ | +--------------+-----------------------+-----------------------------------------------------------+ | AUTOCOMMIT | ON | Autocommit mode | +--------------+-----------------------+-----------------------------------------------------------+ | OMIT_SCHEMA | NO | ë‹¨ì¼ ìŠ¤í‚¤ë§ˆ 특징 ì œê³µ (11.2ë²„ì „ ì´ìƒë§Œ ì ìš©) | +--------------+-----------------------+-----------------------------------------------------------+ ìœ„ì˜ ì˜ˆë¥¼ ì´ìš©í•œ ì—°ê²° 문ìžì—´ì€ 다ìŒê³¼ 같다. :: "DRIVER={CUBRID Driver Unicode};UID=PUBLIC;PWD=xxx;FETCH_SIZE=100;PORT=33000;SERVER=127.0.0.1;DB_NAME=demodb;DESCRIPTION=cubrid_test;CHARSET=utf-8;OMIT_SCHEMA=YES" UTF-8 ìœ ë‹ˆì½”ë“œë¥¼ 사용하는 경우, íŒŒì¼ ì´ë¦„ ì¤‘ê°„ì— "unicode"ê°€ 쓰여있는 ìœ ë‹ˆì½”ë“œ ì „ìš© 드ë¼ì´ë²„를 ì„¤ì¹˜í•˜ê³ , ì—°ê²° 문ìžì—´ì—서 드ë¼ì´ë²„ì˜ ì´ë¦„ì„ "Driver={CUBRID Driver Unicode}"와 ê°™ì´ ìž…ë ¥í•œë‹¤. ìœ ë‹ˆì½”ë“œëŠ” 9.3.0.0002 ë²„ì „ ì´ìƒì—서만 ì§€ì›ëœë‹¤. .. note:: * ì—°ê²° 문ìžì—´ì—서 ì„¸ë¯¸ì½œë¡ (;)ì€ êµ¬ë¶„ìžë¡œ 사용ë˜ë¯€ë¡œ, ì—°ê²° 문ìžì—´ì— 암호(PWD)를 ì§€ì •í• ë•Œ ì•”í˜¸ì˜ ì¼ë¶€ì— ì„¸ë¯¸ì½œë¡ ì„ ì‚¬ìš©í• ìˆ˜ 없다. * ìŠ¤ë ˆë“œ 기반 프로그램ì—서 ë°ì´í„°ë² ì´ìФ ì—°ê²°ì€ ê° ìŠ¤ë ˆë“œë§ˆë‹¤ ë…립ì 으로 사용해야 한다. * ìžë™ 커밋 모드ì—서 SELECT 문 수행 ì´í›„ ëª¨ë“ ê²°ê³¼ ì…‹ì´ fetchë˜ì§€ 않으면 ì»¤ë°‹ì´ ë˜ì§€ 않는다. ë”°ë¼ì„œ, ìžë™ 커밋 ëª¨ë“œë¼ í•˜ë”ë¼ë„ 프로그램 ë‚´ì—서 ê²°ê³¼ ì…‹ì— ëŒ€í•œ fetch ë„중 ì–´ë– í•œ 오류가 ë°œìƒí•œë‹¤ë©´ 반드시 커밋 ë˜ëŠ” ë¡¤ë°±ì„ ìˆ˜í–‰í•˜ì—¬ 트랜ìžì…˜ì„ 종료 처리하ë„ë¡ í•œë‹¤. ASP ì˜ˆì œ 프로그램 ================= ASP ì˜ˆì œë¥¼ ì‹¤í–‰í• ê°€ìƒ ë””ë ‰í„°ë¦¬ì˜ '기본 웹 사ì´íЏ' í•목ì—서 마우스 오른쪽 ë²„íŠ¼ì„ í´ë¦í•œ ë’¤ [ì†ì„±]ì„ í´ë¦í•œë‹¤. .. image:: /images/image82.png ìœ„ì˜ ê·¸ë¦¼ì—서 **웹사ì´íЏ 확ì¸** 아래 **IP 주소**\ 를 **(ëª¨ë‘ í• ë‹¹ë˜ì§€ 않ìŒ)** 으로 ì„ íƒí•˜ë©´ localhost로 ì¸ì‹í•œë‹¤. íŠ¹ì •í•œ IP 주소를 통해 ì˜ˆì œë¥¼ 확ì¸í•˜ë ¤ë©´ 해당 IPì— í•´ë‹¹ ë””ë ‰í„°ë¦¬ë¥¼ ê°€ìƒ ë””ë ‰í„°ë¦¬ë¡œ ì¸ì‹ì‹œí‚¤ê³ ë“±ë¡ ì •ë³´ì— IP 주소를 등ë¡í•œë‹¤. ì•„ëž˜ì˜ ì˜ˆì œ 코드를 cubrid.asp로 ë§Œë“¤ê³ ê°€ìƒ ë””ë ‰í„°ë¦¬ì— ì €ìž¥í•œë‹¤. :: <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>CUBRID Query Test Page</title> </HEAD> <BODY topmargin="0" leftmargin="0"> <table border="0" width="748" cellspacing="0" cellpadding="0"> <tr> <td width="200"></td> <td width="287"> <p align="center"><font size="3" face="Times New Roman"><b><font color="#FF0000">CUBRID</font>Query Test</b></font></td> <td width="200"></td> </tr> </table> <form action="cubrid.asp" method="post" > <table border="1" width="700" cellspacing="0" cellpadding="0" height="45"> <tr> <td width="113" valign="bottom" height="16" bgcolor="#DBD7BD" bordercolorlight="#FFFFCC"><font size="2">SERVER IP</font></td> <td width="78" valign="bottom" height="16" bgcolor="#DBD7BD" bordercolorlight="#FFFFCC"><font size="2">Broker PORT</font></td> <td width="148" valign="bottom" height="16" bgcolor="#DBD7BD" bordercolorlight="#FFFFCC"><font size="2">DB NAME</font></td> <td width="113" valign="bottom" height="16" bgcolor="#DBD7BD" bordercolorlight="#FFFFCC"><font size="2">DB USER</font></td> <td width="113" valign="bottom" height="16" bgcolor="#DBD7BD" bordercolorlight="#FFFFCC"><font size="2">DB PASS</font></td> <td width="80" height="37" rowspan="4" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED">  <p><input type="submit" value="실행하기" name="B1" tabindex="7"></p></td> </tr> <tr> <td width="113" height="1" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><font size="2"><input type="text" name="server_ip" size="20" tabindex="1" maxlength="15" value="<%=Request("server_ip")%>"></font></td> <td width="78" height="1" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><font size="2"><input type="text" name="cas_port" size="15" tabindex="2" maxlength="6" value="<%=Request("cas_port")%>"></font></td> <td width="148" height="1" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><font size="2"><input type="text" name="db_name" size="20" tabindex="3" maxlength="20" value="<%=Request("db_name")%>"></font></td> <td width="113" height="1" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><font size="2"><input type="text" name="db_user" size="15" tabindex="4" value="<%=Request("db_user")%>"></font></td> <td width="113" height="1" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><font size="2"><input type="password" name="db_pass" size="15" tabindex="5" value="<%=Request("db_pass")%>"></font></td> </tr> <tr> <td width="573" colspan="5" valign="bottom" height="18" bordercolorlight="#FFFFCC" bgcolor="#DBD7BD"><font size="2">QUERY</font></td> </tr> <tr> <td width="573" colspan="5" height="25" bordercolorlight="#FFFFCC" bgcolor="#F5F5ED"><textarea rows="3" name="query" cols="92" tabindex="6"><%=Request("query")%></textarea></td> </tr> </table> </form> <hr> </BODY> </HTML> <% ' DSNê³¼ SQLë¬¸ì„ ê°€ì ¸ì˜¨ë‹¤. strIP = Request( "server_ip" ) strPort = Request( "cas_port" ) strUser = Request( "db_user" ) strPass = Request( "db_pass" ) strName = Request( "db_name" ) strQuery = Request( "query" ) if strIP = "" then Response.Write "SERVER_IP를 ìž…ë ¥í•˜ì„¸ìš”" Response.End ' IPê°€ 없으면 페ì´ì§€ 종료 end if if strPort = "" then Response.Write "Port 번호를 ìž…ë ¥í•˜ì„¸ìš”" Response.End ' Portê°€ 없으면 페ì´ì§€ 종료 end if if strUser = "" then Response.Write "DB_USER를 ìž…ë ¥í•˜ì„¸ìš”" Response.End ' DB_Userê°€ 없으면 페ì´ì§€ 종료 end if if strName = "" then Response.Write "DB_NAMEì„ ìž…ë ¥í•˜ì„¸ìš”" Response.End ' DB_NAMEì´ ì—†ìœ¼ë©´ 페ì´ì§€ 종료 end if if strQuery = "" then Response.Write "확ì¸í•˜ê³ ìž í•˜ëŠ” Query를 ìž…ë ¥í•˜ì„¸ìš”" Response.End ' Queryê°€ 없으면 페ì´ì§€ 종료 end if ' ì—°ê²° ê°ì²´ ìƒì„± strDsn = "driver={CUBRID Driver};server=" & strIP & ";port=" & strPort & ";uid=" & strUser & ";pwd=" & strPass & ";db_name=" & strName & ";" ' DBì—°ê²° Set DBConn = Server.CreateObject("ADODB.Connection") DBConn.Open strDsn ' SQL 실행 Set rs = DBConn.Execute( strQuery ) ' SQLë¬¸ì— ë”°ë¼ ë©”ì‹œì§€ ë³´ì´ê¸° if InStr(Ucase(strQuery),"INSERT")>0 then Response.Write "ë ˆì½”ë“œê°€ 추가ë˜ì—ˆìŠµë‹ˆë‹¤." Response.End end if if InStr(Ucase(strQuery),"DELETE")>0 then Response.Write "ë ˆì½”ë“œê°€ ì‚ì œë˜ì—ˆìŠµë‹ˆë‹¤." Response.End end if if InStr(Ucase(strQuery),"UPDATE")>0 then Response.Write "ë ˆì½”ë“œê°€ ìˆ˜ì •ë˜ì—ˆìŠµë‹ˆë‹¤." Response.End end if %> <table> <% ' 필드 ì´ë¦„ 보여주기 Response.Write "<tr bgColor=#f3f3f3>" For index =0 to ( rs.fields.count-1 ) Response.Write "<td><b>" & rs.fields(index).name & "</b></td>" Next Response.Write "</tr>" ' 필드 ê°’ 보여주기 Do While Not rs.EOF Response.Write "<tr bgColor=#f3f3f3>" For index =0 to ( rs.fields.count-1 ) Response.Write "<td>" & rs(index) & "</td>" Next Response.Write "</tr>" rs.MoveNext Loop %> <% set rs = nothing %> </table> \http://localhost/ASP수행í´ë”/cubrid.aspì— ì ‘ì†í•˜ë©´ 수행 결과를 확ì¸í• 수 있다. ìœ„ì˜ ASP ì˜ˆì œ 코드를 실행하면 다ìŒê³¼ ê°™ì€ ê²°ê³¼ë¥¼ ì¶œë ¥í•œë‹¤. 해당 í•ëª©ì— ì•Œë§žì€ ê°’ì„ ë„£ê³ Query í•ëª©ì— ì§ˆì˜ë¬¸ì„ ìž…ë ¥í•˜ê³ [실행하기]를 í´ë¦í•˜ë©´ í•˜ë‹¨ì— ì§ˆì˜ ë¬¸ì˜ ê²°ê³¼ê°€ ì¶œë ¥ëœë‹¤. .. image:: /images/image83.png ODBC API ======== ODBC APIì— ëŒ€í•œ ìžì„¸í•œ ë‚´ìš©ì€ ODBC API Reference 문서( https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference?view=sql-server-ver15 )를 ì°¸ê³ í•œë‹¤. CUBRID ODBCì—서 ì§€ì›í•˜ëŠ” 함수 목ë¡, ODBC Spec ë²„ì „ ë° í˜¸í™˜ì„±ì€ ë‹¤ìŒê³¼ 같다. +---------------------+------------------------+--------------------------+---------------------+ | API | Version Introduced | Standards Compliance | Support | +=====================+========================+==========================+=====================+ | SQLAllocHandle | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLBindCol | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLBindParameter | 2.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLBrowseConnect | 1.0 | ODBC | NO | +---------------------+------------------------+--------------------------+---------------------+ | SQLBulkOperations | 3.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLCancel | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLCloseCursor | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLColAttribute | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLColumnPrivileges | 1.0 | ODBC | NO | +---------------------+------------------------+--------------------------+---------------------+ | SQLColumns | 1.0 | X/Open | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLConnect | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLCopyDesc | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLDescribeCol | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLDescribeParam | 1.0 | ODBC | NO | +---------------------+------------------------+--------------------------+---------------------+ | SQLDisconnect | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLDriverConnect | 1.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLEndTran | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLExecDirect | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLExecute | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLFetch | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLFetchScroll | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLForeignKeys | 1.0 | ODBC | YES(2008 R3.1 ì´ìƒ) | +---------------------+------------------------+--------------------------+---------------------+ | SQLFreeHandle | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLFreeStmt | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetConnectAttr | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetCursorName | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetData | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetDescField | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetDescRec | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetDiagField | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetDiagRec | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetEnvAttr | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetFunctions | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetInfo | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetStmtAttr | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLGetTypeInfo | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLMoreResults | 1.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLNativeSql | 1.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLNumParams | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLNumResultCols | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLParamData | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLPrepare | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLPrimaryKeys | 1.0 | ODBC | YES(2008 R3.1ì´ìƒ) | +---------------------+------------------------+--------------------------+---------------------+ | SQLProcedureColumns | 1.0 | ODBC | YES(2008 R3.1ì´ìƒ) | +---------------------+------------------------+--------------------------+---------------------+ | SQLProcedures | 1.0 | ODBC | YES(2008 R3.1ì´ìƒ) | +---------------------+------------------------+--------------------------+---------------------+ | SQLPutData | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLRowCount | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetConnectAttr | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetCursorName | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetDescField | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetDescRec | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetEnvAttr | 3.0 | ISO 92 | NO | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetPos | 1.0 | ODBC | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSetStmtAttr | 3.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLSpecialColumns | 1.0 | X/Open | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLStatistics | 1.0 | ISO 92 | YES | +---------------------+------------------------+--------------------------+---------------------+ | SQLTablePrivileges | 1.0 | ODBC | YES(2008 R3.1ì´ìƒ) | +---------------------+------------------------+--------------------------+---------------------+ | SQLTables | 1.0 | X/Open | YES | +---------------------+------------------------+--------------------------+---------------------+ ODBC 3.xì—서 하위 í˜¸í™˜ì„±ì„ ì§€ì›í•˜ì§€ 않는 ì¼ë¶€ í•¨ìˆ˜ì— ëŒ€í•´ì„œëŠ” ì•„ëž˜ì˜ ë§¤í•‘ í…Œì´ë¸”ì„ ì°¸ê³ í•˜ì—¬ ì 합한 함수로 변환한다. +---------------------------+-------------------+ | ODBC 2.x 함수 | ODBC 3.x 함수 | +===========================+===================+ | SQLAllocConnect | SQLAllocHandle | +---------------------------+-------------------+ | SQLAllocEnv | SQLAllocHandle | +---------------------------+-------------------+ | SQLAllocStmt | SQLAllocHandle | +---------------------------+-------------------+ | SQLBindParam | SQLBindParameter | +---------------------------+-------------------+ | SQLColAttributes | SQLColAttribute | +---------------------------+-------------------+ | SQLError | SQLGetDiagRec | +---------------------------+-------------------+ | SQLFreeConnect | SQLFreeHandle | +---------------------------+-------------------+ | SQLFreeEnv | SQLFreeHandle | +---------------------------+-------------------+ | SQLFreeStmt with SQL_DROP | SQLFreeHandle | +---------------------------+-------------------+ | SQLGetConnectOption | SQLGetConnectAttr | +---------------------------+-------------------+ | SQLGetStmtOption | SQLGetStmtAttr | +---------------------------+-------------------+ | SQLParamOptions | SQLSetStmtAttr | +---------------------------+-------------------+ | SQLSetConnectOption | SQLSetConnectAttr | +---------------------------+-------------------+ | SQLSetParam | SQLBindParameter | +---------------------------+-------------------+ | SQLSetScrollOption | SQLSetStmtAttr | +---------------------------+-------------------+ | SQLSetStmtOption | SQLSetStmtAttr | +---------------------------+-------------------+ | SQLTransact | SQLEndTran | +---------------------------+-------------------+