Subject : ODBC의 이해

Description :

. 개요

ODBC는 윈도우즈 PC의 AP로부터 서버상의 Multi Vender DBMS에 단일의 방법으로
접속하기 위한 API이다. 이느 SQL에 의한 DB 접속에 관한 비영리 표준화 단체인
SQL 접속 그룹이 결정한 CLI(Call Level interface)의 방법에 기초한다.

종래는 DBMS의 종류에 따라 접속 방법이 달랐기 때문에 소프트웨어 업체와
사용자는 DBMS마다 Client AP를 만들어야 했다. 이 문제를 해결하는 수단으로서 
MicroSoft가 91년 11월에 발표한 것이 ODBC이다.

ODBC가 규정하는 API는 2종류로 하나는 AP가 사용하는 API, 다른 하나는 DB 
Connection에 필요한 ODBC Driver를 개발하기 위한 SPI(Service Provider Interface)
이다. 따라서 ODBC를 이용하기 위해서는 ODBC Driver, ODBC Driver Manager,
그리고 ODBC API에 준거한 AP를 Windows Pc에 탑재하여야 한다.
이 경우 ODBC Driver Manager는 ODBC Driver를 Load해 AP가 발행한 SQL문을
받아 넘겨주는 역할을 하게 된다.

기본적으로는 DB업체와 Third Party가 각종 DBMS용의 ODBC Driver를 개발해
제공한다. Oracle, Sybase, Informix 등 유력업체는 ODBC Driver 개발을 표명하고
있다. MicroSoft도 접속 1.1에 SQL Server 4.2용인 ODBC Driver를 첨부해 발표했다.

이밖에 ODBC와 같은 목적을 갖는 Interface로 IDAPI가 있다. 볼랜드 인터내셔널이
중심이 되어 92년 11월에 IBM, Novel 등과 공동으로 발표한 것이다. 당초에는
DB 접속의 업계 표준 API의 지위를 놓고 ODBC와 경쟁하였다. 그러나 ODBC 대응을
표명한 AP 수가 계속 증가하는 반면 IDAPI는 지원부족으로 정체 상태에 있다.

일반적으로 ODBC Driver와 접속 S/W는 각 DB 업체가 공급한다.


. ODBC Architecture

                  Windows Client
            ----------------------------
  ODBC      |        Application       |  # API 함수를 호출하고, SQL문을 보내
   API ---> ****************************  # 결과를 얻는다.
            | ODBC Driver Manager(DLL) |  # ODBC Driver를 Load하고 요청을 넘김.
  ODBC ---> ****************************  # 함수 호출을 처리하고, 특정 DBMS에
   SPI      | ODBC DBMS Driver(DLL)    |  # SQL문을 보내며, 결과를 AP에 넘김.
            ----------------------------
            |        접속 S/W          |  # DBMS 고유 통신 순서
            ----------------------------
                         |
                         | Networking
                         |
            ----------------------------
            |        접속 S/W          |  # DBMS 고유 통신 순서
            ----------------------------
            |          DBMS            |  # ODBC Driver로부터 보내온 SQL문을
            ----------------------------  # 처리하고, 결과를 Driver에 반환.
                     DB Server


Revision History

작성일자 : 96.06.19
작성자 : 이민호

수정일자 : 
수정자