ODBC란?
ODBC에 대한 많은 오해가 컴퓨팅 세계에 존재합니다. 최종 사용자에게는 Microsoft Windows 제어판 아이콘입니다. 애플리케이션 프로그래머에게 데이터 액세스 루틴을 포함하는 라이브러리입니다. 다른 많은 사용자에게는 지금까지 상상했던 모든 데이터베이스 액세스 문제에 대한 해답입니다.
무엇보다도 ODBC는 데이터베이스 API에 대한 사양입니다. 이 API는 하나의 DBMS 또는 운영 체제와 독립적입니다. 이 수동에서는 C를 사용하지만 ODBC API는 언어 독립적입니다. ODBC API는 Open Group 및 ISO/IEC의 CLI 사양을 기반으로 합니다. ODBC 3.x 는 이러한 사양을 모두 완전히 구현합니다. 이전 버전의 ODBC는 이러한 사양의 예비 버전을 기반으로 했지만 완전히 구현하지는 않았으며 스크롤 가능한 커서와 같은 화면 기반 데이터베이스 애플리케이션 개발자가 일반적으로 필요로 하는 기능을 추가합니다.
ODBC API의 함수는 DBMS 관련 드라이버 개발자가 구현합니다. 애플리케이션은 이러한 드라이버의 함수를 호출하여 DBMS 독립적 방식으로 데이터에 액세스합니다. 드라이버 관리자는 애플리케이션과 드라이버 간의 통신을 관리합니다.
Microsoft는 Microsoft Windows 95 이상을 실행하는 컴퓨터용 드라이버 관리자를 제공하고 여러 ODBC 드라이버를 작성했으며 일부 애플리케이션에서 ODBC 함수를 호출하지만 누구나 ODBC 애플리케이션 및 드라이버를 작성할 수 있습니다. 실제로 현재 사용 가능한 대부분의 ODBC 애플리케이션 및 드라이버는 Microsoft 이외의 회사에서 작성되었습니다. 또한 ODBC 드라이버 및 애플리케이션은 macOS 및 다양한 UNIX 플랫폼에 존재합니다.
애플리케이션 및 드라이버 개발자를 돕기 위해 Microsoft는 드라이버 관리자, 설치 관리자 DLL, 테스트 도구 및 샘플 애플리케이션을 제공하는 Windows 95 이상을 실행하는 컴퓨터용 ODBC SDK(소프트웨어 개발 키트)를 제공합니다. Microsoft는 Visigenic Software와 협력하여 이러한 SDK를 Macintosh 및 다양한 UNIX 플랫폼으로 이식했습니다.
ODBC는 데이터베이스 기능을 보완하지 않고 노출하도록 설계되어 있음을 이해하는 것이 중요합니다. 따라서 애플리케이션 작성자는 ODBC를 사용하면 단순 데이터베이스가 완전히 기능화된 관계형 데이터베이스 엔진으로 갑자기 변환될 것으로 예상해서는 안 됩니다. 드라이버 작성자는 기본 데이터베이스에서 찾을 수 없는 기능을 구현할 것으로 예상되지도 않습니다. 이에 대한 예외는 파일 데이터(예: Xbase 파일의 데이터)에 직접 액세스하는 드라이버를 작성하는 개발자가 최소 SQL 기능을 지원하는 데이터베이스 엔진을 작성해야 한다는 것입니다. 또 다른 예외는 이전에 MDAC(Microsoft Data Access Components) SDK에 포함된 Windows SDK의 ODBC 구성 요소가 특정 수준의 기능을 구현하는 드라이버에 대해 스크롤 가능한 커서를 시뮬레이션하는 커서 라이브러리를 제공한다는 점입니다.
ODBC를 사용하는 애플리케이션은 데이터베이스 간 기능을 담당합니다. 예를 들어 ODBC는 다른 유형의 조인 엔진이 아니며 분산 트랜잭션 프로세서도 아닙니다. 그러나 DBMS 독립적이므로 이러한 데이터베이스 간 도구를 빌드하는 데 사용할 수 있습니다.