반응형

[ 서 론 ]

JDBC / ODBC 등등 말이많다~~~ 이 말은 어떤의미인지 약어도 잘모르고 다만, 용어에 대해서

대충적인 의미만 알고 있을 뿐이다.

JDBC / ODBC 등등에 대해 용어정리를 한번 집고 넘어가도록 하자.

[ 본 론 ]

(1) ODBC란?

ODBC는 Open DataBase Connectivity 의 약어이다. 말 그대로 해석해 보자
"DB에 접속을 OPEN한다" 라는 의미이다. 흔히들 사람들은 JDBC와 혼돈되어 , 특정 프로그램 및 특정 언어에서만
동작되는 용어라고 생각하는 사람들이 많다. 하지만 그렇지 않다.

ODBC란 , "Micro Soft 사에서 만든 모든 DBMS 에 접속하여 독립적인 Application을 작성하기 위한, API 이다."
즉 언어에 상관없이 모든 DBMS에는 ODBC 가 존재한다.  그럼 사용할때에는 어떻게 하느냐???

ODBC 내부에는 드라이버관리자(ODBC Driver Manager) 가존재한다. 특정 프로그램은 ODBC 드라이버 관리자를 호출하여
사용하려는 드라이버를 호출하기만 하면 접속가능하다. 일단 접속이되면은 SQL를사용하여 프로그램은 DBMS와 통신이 가능하다.

종합하여 보면 ODBC는 사용자와 각 DB 엔진 사이를 연결해 주어, 사용자가 공통된 IF로 각기 다른 DBMS에 접근하게 하여
원하는 데이터를 다룰수 있게 한다.

아래 그림을 보면 좀 더 확실히 이해가 될것이다.

                                                                   [ ODBC 내부 동작 원리 ]

예를 들어 본다.

( 장점 )
C++ 과 같이 WINDOWS NT 계열에서 지원되는 프로그램에서는 , ODBC를 지원하도록 되어있다. 그렇기 때문에 개발자는
사용하기를 원하는 DB를 INSTALL 한 후, Windows 환경의 Visual C++ Compiler가 지원해주는 ODBC클래스나 WIN32함수
를 사용하여, Application을 손쉽게 개발 할 수 있다.

( 단점 )
단점이라 ,하면 MS사에서 C 언어위주로 사용되기위해 만든 API이기 떄문에 다른 언어와의 호환이 문제가 된다.

(2) JDBC 란?

JDBC란 Java DataBase Connectivity 의 약어로 "자바로 작성된 프로그램을 , 각각의 DBMS에 연결하기 위한, API 규격이다."
ODBC와는 조금 다르다, ODBC는 주로 C언어에서 개발시 사용하는 방법이며, JDBC는 JAVA에서 개발시 사용되어지는 방식이다.

하나 문의점이 생긴다? !!! MS계열의 플랫폼에서는 ODBC를 사용하여 주로 DBMS를 연결하는데, MS 계열의 플랫폼에서
JDBC를 통해서 연결 할 수는 없을까?

물론 가능하다. JDBC 가 동작하는 원리는 아래 그림을 보면 확실히 이해 가능할 것이다.

                                                                  [ JDBC 내부 동작 원리 ]
 

JDBC 내부에 "JDBC ODBC Bridge" 가 보일것이다. 내부 Driver가 ODBC Driver 와 연결되어 DBMS를 연결 가능하다.


[ 결 론 ]

이제 헷갈리지말자, ODBC와 JDBC는 분명 틀린것이다. ㅋㅋ 우리가 사용하려는 플랫폼 / 언어 / 등등에 따라
ODBC를 사용할지 JDBC를 사용할지를 선택하면 되는것이다. !!!

그럼 오늘 블로그 글은 이쯤에서 쫑!! ㅋㅋ

반응형

+ Recent posts