다음을 통해 공유


OLE DB 공급자 템플릿(C++)

OLE DB는 Microsoft 유니버설 데이터 액세스 전략의 중요한 부분입니다. OLE DB 디자인은 모든 데이터 원본에서 고성능 데이터 액세스를 허용합니다. 모든 테이블 형식 데이터는 데이터베이스에서 온 것인지 여부에 관계없이 OLE DB를 통해 볼 수 있습니다. 유연성은 엄청난 양의 힘을 제공합니다.

OLE DB 소비자 및 공급자설명된 대로 OLE DB는 소비자 및 공급자의 개념을 사용합니다. 소비자는 데이터를 요청합니다. 공급자는 테이블 형식으로 데이터를 소비자에게 반환합니다. 프로그래밍 관점에서 이 모델의 가장 중요한 의미는 공급자가 소비자가 수행할 수 있는 모든 호출을 구현해야 한다는 것입니다.

공급자란?

OLE DB 공급자는 소비자 개체의 인터페이스 호출을 제공하는 COM 개체 집합으로, 지속성 원본(데이터 저장소라고 함)에서 소비자로 테이블 형식으로 데이터를 전송합니다.

공급자는 단순하거나 복잡할 수 있습니다. 공급자는 더 많은 인터페이스를 구현하여 최소한의 기능 또는 본격적인 프로덕션 품질 공급자를 지원할 수 있습니다. 공급자는 테이블을 반환하고, 클라이언트가 해당 테이블의 형식을 결정하고, 해당 데이터에 대한 작업을 수행할 수 있도록 할 수 있습니다.

각 공급자는 클라이언트의 요청을 처리하는 표준 COM 개체 집합을 구현하며, 표준은 모든 OLE DB 소비자가 언어(예: C++ 및 기본)에 관계없이 모든 공급자의 데이터에 액세스할 수 있음을 의미합니다.

각 COM 개체에는 여러 인터페이스가 포함되어 있으며, 그 중 일부는 필수이며 일부는 선택 사항입니다. 필수 인터페이스를 구현하여 공급자는 모든 클라이언트에서 사용할 수 있어야 하는 최소 기능 수준(규정 준수라고 함)을 보장합니다. 공급자는 추가 기능을 제공하기 위해 선택적 인터페이스를 구현할 수 있습니다. OLE DB 공급자 템플릿 아키텍처이러한 인터페이스를 자세히 설명합니다. 클라이언트는 항상 호출 QueryInterface 하여 공급자가 지정된 인터페이스를 지원하는지 확인해야 합니다.

OLE DB 사양 수준 지원

OLE DB 공급자 템플릿은 OLE DB 버전 2.7 사양을 지원합니다. OLE DB 공급자 템플릿을 사용하여 수준 0 호환 공급자를 구현할 수 있습니다. 예를 들어 샘플에서는 Provider 템플릿을 사용하여 DOS DIR 명령을 실행하여 파일 시스템을 쿼리하는 비 SQL(MS-DOS) 명령 서버를 구현합니다. 이 샘플은 Provider 테이블 형식 데이터를 반환하기 위한 표준 OLE DB 메커니즘인 행 집합의 디렉터리 정보를 반환합니다.

OLE DB 템플릿에서 지원하는 가장 간단한 공급자 유형은 명령이 없는 읽기 전용 공급자입니다. 책갈피 및 읽기/쓰기 기능과 마찬가지로 명령이 있는 공급자도 지원됩니다. 추가 코드를 작성하여 읽기/쓰기 공급자를 구현할 수 있습니다. 동적 행 집합 및 트랜잭션은 현재 버전에서 지원되지 않지만 원하는 경우 추가할 수 있습니다.

OLE DB 공급자를 만들어야 하는 경우는 언제인가요?

항상 고유한 공급자를 만들 필요는 없습니다. Microsoft는 Visual C++의 데이터 링크 속성 대화 상자에서 미리 패키지된 여러 표준 공급자를 제공합니다. OLE DB 공급자를 만드는 주된 이유는 유니버설 데이터 액세스 전략을 활용하기 위해서입니다. 이렇게 하면 다음과 같은 이점이 있습니다.

  • C++, Basic 및 Visual Basic Scripting Edition과 같은 모든 언어를 통해 데이터에 액세스합니다. 이를 통해 조직의 여러 프로그래머가 사용하는 언어에 관계없이 동일한 방식으로 동일한 데이터에 액세스할 수 있습니다.

  • SQL Server, Excel 및 Access와 같은 다른 데이터 원본으로 데이터를 엽니다. 이는 다양한 형식 간에 데이터를 전송하려는 경우에 유용할 수 있습니다.

  • 데이터 간 원본(이질적인) 작업에 참여합니다. 이는 데이터 웨어하우징의 효과적인 방법이 될 수 있습니다. OLE DB 공급자를 사용하면 데이터를 기본 형식으로 유지하고 간단한 작업으로 데이터에 액세스할 수 있습니다.

  • 쿼리 처리와 같은 추가 기능을 데이터에 추가합니다.

  • 조작 방법을 제어하여 데이터에 액세스하는 성능을 향상합니다.

  • 견고성 향상. 하나의 프로그래머만 액세스할 수 있는 독점 데이터 형식이 있는 경우 위험에 처하게 됩니다. OLE DB 공급자를 사용하여 모든 프로그래머에게 해당 전용 형식을 열 수 있습니다.

읽기 전용 및 업다이블 공급자

공급자는 복잡성과 기능에 따라 크게 달라질 수 있습니다. 공급자를 읽기 전용 공급자 및 업다이블 공급자로 분류하는 것이 유용합니다.

자세한 내용은 다음을 참조하세요.

참고 항목

데이터 액세스
OLE DB SDK 설명서
OLE DB 프로그래머 참조