OLE DB 공급자(ADO)
OLE DB는 애플리케이션에 다양한 정보 소스에 저장된 데이터에 대한 균일한 액세스를 제공하는 일단의 COM 인터페이스를 정의합니다. 이 방법을 사용하면 데이터 원본이 데이터 원본에 적합한 수준의 DBMS 기능을 지원하는 인터페이스를 통해 데이터를 공유할 수 있습니다. 기본적으로 OLE DB의 고성능 아키텍처는 유연한 구성 요소 기반 서비스 모델의 사용을 기반으로 합니다. OLE DB는 애플리케이션과 데이터 간에 지정된 수의 중간 계층을 갖는 대신 특정 작업을 수행하는 데 필요한 만큼의 구성 요소만 필요로 합니다.
예를 들어 사용자가 쿼리를 실행하려고 하는 경우를 가정해 보겠습니다. 다음 시나리오를 고려하세요.
데이터가 현재 ODBC 드라이버는 있지만 네이티브 OLE DB 공급자는 없는 관계형 데이터베이스에 상주합니다. 애플리케이션은 ADO를 사용하여 ODBC용 OLE DB 공급자와 통신한 다음 적절한 ODBC 드라이버를 로드합니다. 드라이버는 데이터를 검색하는 SQL 문을 DBMS에 전달합니다.
데이터가 네이티브 OLE DB 공급자가 있는 Microsoft SQL Server에 상주합니다. 애플리케이션은 ADO를 사용하여 Microsoft SQL Server OLE DB 공급자와 직접 통신합니다. 중개자는 필요하지 않습니다.
데이터가 OLE DB 공급자는 있지만 SQL 쿼리를 처리하는 엔진을 노출하지 않는 Microsoft Exchange Server에 상주합니다. 애플리케이션은 ADO를 사용하여 Microsoft Exchange용 OLE DB 공급자와 통신하고 OLE DB 쿼리 프로세서 구성 요소를 호출하여 쿼리를 처리합니다.
데이터가 문서 형태로 Microsoft NTFS 파일 시스템에 상주합니다. 파일 시스템에서 문서의 내용 및 속성을 인덱싱하여 효율적인 내용 검색을 가능하게 하는 Microsoft Indexing Service를 통해 네이티브 OLE DB 공급자를 사용하여 데이터에 액세스합니다.
앞의 모든 예제에서 애플리케이션은 데이터를 쿼리할 수 있습니다. 사용자의 요구 사항은 최소 개수의 구성 요소로 충족됩니다. 각 경우에서 필요한 경우에만 추가 구성 요소가 사용되고 필요한 구성 요소만 호출됩니다. 이러한 재사용 및 공유 가능한 구성 요소의 수요 기반 로딩은 OLE DB를 사용할 때 고성능에 큰 도움이 됩니다.
공급자는 데이터를 제공하는 범주와 서비스를 제공하는 범주로 구분됩니다. 데이터 공급자는 자체 데이터를 소유하고 테이블 형식으로 애플리케이션에 노출합니다. 서비스 공급자는 데이터를 생성 및 사용하고 ADO 애플리케이션에서 기능을 보강하여 서비스를 캡슐화합니다. 또한 서비스 공급자는 다른 서비스 공급자 또는 구성 요소와 함께 작동해야 하는 서비스 구성 요소로 추가로 정의될 수도 있습니다.
ADO는 다양한 OLE DB 공급자에게 더 상위 수준의 일관된 인터페이스를 제공합니다.
이 섹션에서는 다음 항목을 다룹니다.