데이터 원본 개체(OLE DB)
SQL Server Native Client SQL Server 같은 데이터 저장소에 대한 링크를 설정하는 데 사용되는 OLE DB 인터페이스 집합에 데이터 원본이라는 용어를 사용합니다. 공급자의 데이터 원본 개체 instance 만드는 것은 SQL Server Native Client 소비자의 첫 번째 작업입니다.
각 OLE DB 공급자는 자체적으로 사용할 CLSID(클래스 식별자)를 선언합니다. SQL Server Native Client OLE DB 공급자의 CLSID는 C/C++ GUID CLSID_SQLNCLI10(참조하는 sqlncli.h 파일의 올바른 progid에 resolve 기호 SQLNCLI_CLSID)입니다. CLSID가 있으면 소비자는 OLE CoCreateInstance 함수를 사용하여 데이터 원본 개체의 인스턴스를 만듭니다.
SQL Server Native Client in-process 서버입니다. SQL Server Native Client OLE DB 공급자 개체의 인스턴스는 실행 가능한 컨텍스트를 나타내기 위해 CLSCTX_INPROC_SERVER 매크로를 사용하여 만들어집니다.
SQL Server Native Client OLE DB 공급자 데이터 원본 개체는 소비자가 기존 SQL Server 데이터베이스에 연결할 수 있도록 하는 OLE DB 초기화 인터페이스를 노출합니다.
SQL Server Native Client OLE DB 공급자를 통해 이루어진 모든 연결은 다음 옵션을 자동으로 설정합니다.
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_NULL_DFLT_ON ON
SET QUOTED_IDENTIFIER ON
SET CONCAT_OF_NULL_YIELDS_NULL ON
이 예제에서는 클래스 식별자 매크로를 사용하여 SQL Server Native Client OLE DB 공급자 데이터 원본 개체를 만들고 해당 IDBInitialize 인터페이스에 대한 참조를 가져옵니다.
IDBInitialize* pIDBInitialize;
HRESULT hr;
hr = CoCreateInstance(CLSID_SQLNCLI10, NULL, CLSCTX_INPROC_SERVER,
IID_IDBInitialize, (void**) &pIDBInitialize);
if (SUCCEEDED(hr))
{
// Perform necessary processing with the interface.
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
else
{
// Display error from CoCreateInstance.
}
SQL Server Native Client OLE DB 공급자 데이터 원본 개체의 instance 성공적으로 만들면 소비자 애플리케이션은 데이터 원본을 초기화하고 세션을 만들어 계속할 수 있습니다. OLE DB 세션은 데이터 액세스 및 조작을 가능하게 하는 인터페이스를 제공합니다.
SQL Server Native Client OLE DB 공급자는 성공적인 데이터 원본 초기화의 일환으로 지정된 SQL Server instance 첫 번째 연결을 만듭니다. 이 연결은 데이터 원본 초기화 인터페이스에 대한 참조가 유지되는 동안이나 IDBInitialize::Uninitialize 메서드가 호출될 때까지 유지됩니다.