# ODBC (Open Database Connectivity)
: 예전의 데이터베이스는 폐쇄적으로 각 데이터베이스에서 제공하는 클라이언트가 없으면 데이터베이스 서버로 접근이 불가능 했다.
이러한 문제점을 보완하기 위해서 MS에서 ODBC라는 기술을 개발했다.
그림에서 알 수 있드시 ODBC를 사용하면 모든 DBMS에 접근이 가능하다.
여기서 더 발전된 기술이 oleDB 다.
# OLEDB
: ODBC를 모든 데이터베이스에 접근이 가능한 반면, oleDB 기술은 MS에서 UDA(Universal Data Access)란 개념을 체택 광범위한
데이터에 접근 할 수 있다. UDA는 실제 사용되는 기술이 아니라 개념일 뿐이다.
-> ADO와 oleDB를 이용하여 광범위한 데이터를 처리하는 기술을 UDA라고 한다.
# ADO(ActiveX Data Object)
: ODBC와 OleDB는 데이터베이스를 연결하는 기술인반면, ADO는 연결된 통로를 통해서 데이터를 직접 가공하는 데이터를 핸들링 할
수 있는 기술이다.(데이터를 처리하는 기술을 담당한다.)
==> ODBC는 이기종의 데이터베이스(거의 모든 관계형 데이터베이스)에 접근을 가능하게 해주는 표준적인 방법인 반면에
oleDB는 이기종의 데이터베이스뿐만 아니라 비 관계형 데이터에도 접근이 가능, 즉 SQL서버나 Oracle, DB@ 뿐만 아니라
메일, 메일폴더, 텍스트, 디렉토리, 웹사이트등 비관계형 계층구조적인 데이터들에게도 접근을 가능하게 한다.
==> ADO : 데이터를 다루는 객체(데이터를 처리하는 기술)
ODBC, oleDB : 데이터 제공자 (원본 데이터를 사용할 수 있게 연결해주는 기술)
# ODBC보다 oleDB가 좋은 이유...
1. ODBC는 파일을 만들고, 제어판에 들어가서 DSN 설정을 잡아야 한다.
반면, oleDB는 소스 부분에 oleDB 연결 스트링만 추가하면 된다.
2. ODBC로 개발한 소스는 다른 서버로 옯기면 바로 작동하지 않는다. 옮긴 서버의 DSN 설정을 잡아줘야 한다.
반면, oleDB의 경우라면 아무런 조건 없이 그대로 작동한다.(MDB의 경우 폴더 위치만 같으면 된다.)
3. oleDB를 웹호스팅 환경에서 사용하는 경우, 서버의 관리자가 , DNS Setting을 해주어야 한다.
반면, oleDB는 관리자의 도움없이 가능하다.
(ASP에는 Win2000 등 NT기반 서비스이며, DSN Setting을 하려면 터미널서비스를 열거나 로컬 로긴을 해야한다.
일반적으로 NT계열은 보안 문제로 일반 유저에게 이러한 관한을 주지 않기 때문에 ODBC 설정을 하려면 관리자의 도움이 필요하다)
~ 출처
- 내용 및 그림은 태오님 사이트에서...
- http://www.taeyo.pe.kr/lecture/9_Board2001/Board2001_02.htm
[출처] [DBMS] ODBC, OLEDB, ADO 개념 정리...|작성자 콧구멍억만개