티스토리 뷰
ODBC (1992년 개발)
ADO (1996년 개발)
ODBC vs ADO
ODBC와 ADO의 쿼리를 허용하지만 일반적으로 소프트웨어 응용 프로그램은 특정 프로그래밍 언어 (예 : Java, C # , 등), 데이터베이스는 다른 데이터베이스 특정 언어 (예 : SQL)에서 쿼리를 허용합니다. 따라서 소프트웨어 응용 프로그램이 데이터베이스의 데이터에 액세스해야하는 경우 언어를 서로 변환 할 수있는 인터페이스 (응용 프로그램 및 데이터베이스)가 필요합니다. 그렇지 않으면 응용 프로그램 프로그래머는 응용 프로그램 내에서 데이터베이스 특정 언어를 배우고 통합해야합니다. ODBC (Open Database Connectivity) 및 OLE DB (Object Linking and Embedding, Database)는이 특정 문제를 해결하는 두 가지 인터페이스입니다. ODBC는 이러한 목적으로 사용될 수있는 플랫폼, 언어 및 운영 체제 독립 인터페이스입니다. OLE DB는 ODBC의 후속 제품입니다. ADO는 OLE DB의 래퍼입니다.
ODBC 란 무엇입니까?
ODBC는 데이터베이스 관리 시스템 (DBMS)에 액세스하기위한 인터페이스입니다. 데이터베이스와 응용 프로그램간에 통신 할 표준 매체가 없었던 1992 년 SQL Access Group이 ODBC를 개발했습니다. 특정 프로그래밍 언어 나 데이터베이스 시스템 또는 운영 체제에 의존하지 않습니다. 프로그래머는 ODBC 인터페이스를 사용하여 실행중인 환경이나 사용하는 DBMS의 유형에 관계없이 모든 데이터베이스의 데이터를 쿼리 할 수있는 응용 프로그램을 작성할 수 있습니다.
ODBC 드라이버는 응용 프로그램과 데이터베이스 간의 변환기 역할을하기 때문에 ODBC는 언어 및 플랫폼 독립성을 확보 할 수 있습니다. 이것은 응용 프로그램이 데이터베이스 특정 언어를 아는 부담을 덜어 준다는 것을 의미합니다. 대신 ODBS 구문 만 알고 사용할 것이며 드라이버는 이해할 수있는 언어로 쿼리를 데이터베이스로 변환합니다. 그런 다음 결과는 응용 프로그램에서 이해할 수있는 형식으로 반환됩니다. ODBC 소프트웨어 API는 관계형 데이터베이스 시스템과 비 관계형 데이터베이스 시스템 모두에서 사용할 수 있습니다. 응용 프로그램과 데이터베이스간에 범용 미들웨어로 ODBC를 사용하는 또 다른 주요 이점은 데이터베이스 사양이 변경 될 때마다 소프트웨어를 업데이트 할 필요가 없다는 것입니다. ODBC 드라이버에 대한 업데이트로 충분합니다.ADO 란 무엇입니까?
ADO는 데이터 원본의 데이터에 액세스하기위한 인터페이스로 작동하는 COM (구성 요소 개체 모드) 개체의 모음입니다. ADO는 1996 년 Microsoft에서 Microsoft Data Access Components (MDAC)의 일부로 개발되었습니다. ADO는 일부 프로그래밍 언어로 작성된 응용 프로그램과 OLE DB (Microsoft에서 개발 한 데이터 API 및 ODBC의 후속 버전)간에 미들웨어 계층을 형성합니다. 프로그래머는 ADO를 사용하여 데이터베이스의 기본 구현 세부 사항을 몰라도 데이터에 액세스 할 수 있습니다. ADO를 사용하기 위해 SQL을 알 필요는 없지만 SQL을 사용하여 ADO를 실행할 수 있습니다.
ODBC와 ADO의 차이점은 무엇입니까?
ODBC(Cross Platform, W/L)는 모든 응용 프로그램에서 모든 데이터베이스 시스템과 통신하는 데 사용할 수있는 개방형 인터페이스이며 ADO(Windows, ADO.NET:Cross Platform)는 OLE DB (ODBC의 후속 버전)를 감싸는 래퍼입니다. 데이터베이스가 OLE (비 OLE 환경)를 지원하지 않으면 ODBC가 최선의 선택입니다. 환경이 비 SQL이면 ODBC가 SQL에서만 작동하기 때문에 ADO를 사용해야합니다. 상호 운용 가능한 데이터베이스 구성 요소가 필요한 경우 ODBC 대신 ADO를 사용해야합니다. 그러나 16 비트 데이터 액세스의 경우 ODBC가 유일한 옵션입니다 (ADO는 16 비트를 지원하지 않습니다). 마지막으로, ADO는 한 번에 여러 데이터베이스에 연결하기위한 최상의 선택입니다 (ODBC는 한 번에 하나의 데이터베이스에만 연결할 수 있음).
설명 출처: ko.betweenmates.com/difference-between-odbc-and-ado-8431
추가로 보면 좋은 설명글: amps.tistory.com/56
ODBC vs ADO(OLEDB) 데이터베이스 서버에 연결 드라이버가 설치되어 있어야한다. (Connector)
ODBC 사용 경험:
시스템 DSN이랑 사용자 DSN이 나뉘어져 있어 다른 사용자로 등록하고 계정이 바뀌어서 작동이 안될 수 있음
시스템 DSN으로 통일하여 등록했어도, 관리자 권한이랑 엮여서 작동 권한이 없어 접근이 불가능(접속 불가)함