[DB] JDBC 와 ODBC

이혜지·2021년 1월 28일
0

JDBC와 ODBC의 차이점이 궁금해서 쓰는글 ..

1) JDBC(Java Database Connectivity)


Java에서 DB에 접근하여 데이터 조회, 삽입, 수정, 삭제를 가능하게 하는것을 말한다.
다시말해 Java가 DB를 사용할수 있도록 연결해주는 응용프로그램 인터페이스인 Java API.

이 응용프로그램 인터페이스는 데이터베이스 관리 시스템에 넘겨질 SQL 형태의 데이터베이스 접근요구 문장을,
각 시스템에 맞도록 바꾸는 역할을 한다. API는 동적으로 올바른 Java 패키지를 로드하고, JDBC 드라이버 매니저에 등록하기 위한 매커니즘을 제공한다. 드라이버 매니저가, JDBC connection을 생성하기 위한 connection factory로서 사용된다.

JDBC connection는 명령문을 만들고, 실행하는 것을 지원함.

명령문은 SQL의 CREATE, INSERT, UPDATE, DELETE와 같은 갱신을 위한 명령문, SELECT와 같은 검색을 위한 명령문 등을 말한다.
갱신을 위한 명령문은, 명령문에 의해 영향을 받을 데이터베이스 열의 갯수를 반환하게 된다. 이외에는 반환하지 않는다.

검색을 위한 명령문은 결과값을 담은 Resultset을 반환한다.

2) ODBC(Open Database Connectivity)


ODBC는 마이크로소프트사에 의해 만들어진, 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격으로, 표준 개방형 응용 프로그램 인터페이스 이다.
각 데이터베이스의 차이는 ODBC 드라이버에 의해서 흡수되기 때문에 유저는 ODBC에 정해진 순서에 따라서 프로그램을 쓰면 접속처의 데이터베이스가 어떠한 데이터베이스 관리 시스템에 관리되고 있는지 의식할 필요 없이 접근할 수 있다. 각 데이터베이스의 차이는 ODBC 드라이버에 의해서 흡수되기 때문에 유저는 ODBC에 정해진 순서에 따라서 프로그램을 쓰면 접속처의 데이터베이스가 어떠한 데이터베이스 관리 시스템에 관리되고 있는지 의식할 필요 없이 접근할 수 있다는 것이 특징이다.

이를 위해선 ODBC 소프트웨어 외에, 액세스할 각 데이터베이스마다 별도의 모듈이나 드라이버가 필요하다.

ODB는 Open Group의 표준 SQL Call-Level 인터페이스에 근간을 두고 밀접하게 맞추어져있다.
ODBC는 프로그램들이 데이터베이스의 독점적인 인터페이스에 대해 알지 못하더라도, 데이터베이스 액세스를 위한 SQL요청을 사용할 수 있게 하고, SQL 요청을 받아서 그것을 개별의 데이터베이스 시스템들이 이해할 수 있는 변환하는 역할을 한다.

차이점


.ODBCJDBC
사용목적응용프로그램에서 데이터에 접근할 때Java에서 DataBase와 연결하여 작업하기 위해서
DMBS 종류에 따라접속처의 데이터베이스가 어떠한 DBMS에 의해 관리되고 있는지 의식할 필요가 없다.Java와 연동되는 DBMS에 따라 그에 맞는 JDBC를 설치할 필요가 있다.
  • 자바 언어와 JDBC 응용 프로그램 인터페이스를 이용하여 프로그램을 작성할 때, 데이터베이스들에 대한 접근성이 높은 ODBC로 DB에 접근하기 위해서는, 일종의 브리지 프로그램인 JDBC-ODBC가 포함되어 있는 제품을 이용할 수 있다. 즉, ODBC로 연결하는 중간의 인터페이스 역할을 JDBC가 하게 되는 것이다.

  • JDBC는 COBRA, DJB 또는 다른 서버 개체에서의 직접 조작을 위한 것과 EJB의 지속성을 위해 SQL을 기반으로 한 데이터베이스의 접근을 허용한다.

profile
공유 문화를 지향하는 개발자입니다.

0개의 댓글