본문 바로가기

IT/DB

JDBC와 ODBC의 차이에 대해서

JDBC (Java DataBase Connectivity)

JDBC JAVA에서 DB에 접속하게 해주는 JAVA API입니다.

 

JDBC는 응용프로그램과 DBMS간의 통신을 중간에서 번역해주는 역할을 합니다.

 

JDBC의 DB 접근과정

JDBC Driver Manager는 JDBC Driver를 관리하는 클래스로, DBMS에 맞는 드라이버를 load합니다.

JDBC Driver는 실제 JDBC 인터페이스를 구현한 클래스들이 모여있는 클래스 파일로, JAVA 프로그램의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환시켜줍니다.

 

각각 다른 종류의 DBMS에 접근할 때 각기 다른 방법이 있어야 했지만 JDBC API를 사용하면 모든 DB에 똑같은 방식으로 연동할 수 있습니다.

대신, JDBC 프로그래밍을 위해서는 DBMS별로 알맞은 JDBC Driver가 필요합니다.

 

JDBC API는 게임기 자체, JDBC 드라이버는 게임칩이라고 생각하면 이해하기 쉽습니다.

JDBC API는 기본적으로 설치되어 있지만, 각 DBMS에 맞는 JDBC 드라이버는 추가적으로 설치해야 합니다. 

ODBC (Open DataBase Connectivity)

JDBC는 JAVA 프로그램에서만 가능한 반면, ODBC어느 프로그램이든 가능합니다.

 

ODBC는 마이크로소프트사에 의해 만들어진 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격으로,

프로그램 내에 ODBC 문법을 사용하면 여러 종류의 데이터베이스에 접근할 수 있습니다.

 

ODBC의 DB 접근과정

각 데이터베이스의 차이ODBC Driver에 의해서 변환되고,

사용자는 ODBC의 문법을 사용하면 데이터베이스가 어떠한 DBMS에 관리되고 있는지 의식할 필요없이 접근할 수 있습니다.

물론 데이터베이스별로 드라이버가 필요합니다.


세부적으로 다른 차이도 존재하겠지만,

JDBC와 ODBC의 가장 큰 차이점ODBC모든 언어에서 사용할 수 있는 반면, JDBCJAVA에서만 사용할 수 있다는 점입니다. 물론, ODBC는 JAVA에서도 사용이 가능합니다.(JDBC를 거쳐서)

코딩을 하면서 DB를 사용하다보면 driver를 보게되는데, 이번 글을 작성하면서 driver의 사용에 대해 잘 알게 된 것 같습니다 :>

 

잘못된 정보가 있거나, 다른 의견이 있으시다면 피드백 부탁드립니다. 감사합니다 :) 

'IT > DB' 카테고리의 다른 글

DBCP에 대해서  (0) 2022.03.07