다음을 통해 공유


데이터 원본 개체(OLE DB)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

OLE DB 드라이버 다운로드

OLE DB Driver for SQL Server는 SQL Server와 같은 데이터 저장소에 대한 링크를 설정하는 데 사용되는 OLE DB 인터페이스 집합에 데이터 원본이라는 용어를 사용합니다. 공급자의 데이터 원본 개체 인스턴스를 만드는 것은 OLE DB Driver for SQL Server 소비자의 첫 번째 작업입니다.

모든 OLE DB 공급자는 CLSID(클래스 식별자)를 자체 선언합니다. OLE DB Driver for SQL Server의 CLSID는 C/C++ GUID CLSID_MSOLEDBSQL(참조하는 msoledbsql.h 파일에서 기호 MSOLEDBSQL_CLSID 올바른 progid로 확인됨). CLSID를 사용하면 소비자는 OLE CoCreateInstance 함수를 사용하여 데이터 원본 개체의 인스턴스를 제조합니다.

OLE DB Driver for SQL Server는 In-process 서버입니다. OLE DB Driver for SQL Server 개체의 인스턴스는 실행 가능한 컨텍스트를 나타내기 위해 CLSCTX_INPROC_SERVER 매크로를 사용하여 만들어집니다.

OLE DB Driver for SQL Server 데이터 원본 개체는 소비자가 기존 SQL Server 데이터베이스에 연결할 수 있도록 하는 OLE DB 초기화 인터페이스를 노출합니다.

OLE DB Driver for SQL Server를 통해 수행된 모든 연결은 다음 옵션을 자동으로 설정합니다.

  • 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

이 예제에서는 클래스 식별자 매크로를 사용하여 OLE DB Driver for SQL Server 데이터 원본 개체를 만들고 해당 IDBInitialize 인터페이스에 대한 참조를 가져옵니다.

IDBInitialize*   pIDBInitialize;
HRESULT          hr;

hr = CoCreateInstance(CLSID_MSOLEDBSQL, 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.
}

OLE DB Driver for SQL Server 데이터 원본 개체의 인스턴스를 성공적으로 만들면 소비자 애플리케이션은 데이터 원본을 초기화하고 세션을 만들어 계속할 수 있습니다. OLE DB 세션은 데이터 액세스 및 조작을 허용하는 인터페이스를 제공합니다.

OLE DB Driver for SQL Server는 성공적인 데이터 원본 초기화의 일환으로 SQL Server의 지정된 인스턴스에 첫 번째 연결을 만듭니다. 데이터 원본 초기화 인터페이스에서 참조가 유지되거나 메서드가 호출될 때까지 연결이 IDBInitialize::Uninitialize 유지됩니다.

섹션 내용

참고 항목

SQL Server 프로그래밍용 OLE DB 드라이버