Поделиться через


Объекты источников данных (OLE DB)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Скачать драйвер OLE DB

OLE DB Driver for SQL Server использует термин источника данных для набора интерфейсов OLE DB, используемых для установления связи с хранилищем данных, например SQL Server. Первая задача объекта-получателя OLE DB Driver for SQL Server — создание экземпляра объекта для источника данных поставщика.

Каждый поставщик OLE DB объявляет свой идентификатор класса (CLSID). OLE DB Driver for SQL Server в C/C++ имеет уникальный идентификатор (CLSID) CLSID_MSOLEDBSQL (это означает, что символ CLSID_MSOLEDBSQL будет разрешен в правильный идентификатор progid из файла msoledbsql.h, на который вы ссылаетесь). С помощью CLSID потребитель использует функцию OLE CoCreateInstance для создания экземпляра объекта источника данных.

OLE DB Driver for SQL Server является внутрипроцессным сервером. Экземпляры объектов драйвера OLE DB для SQL Server создаются с помощью макроса CLSCTX_INPROC_SERVER для указания на исполняемый контекст.

Объект источника данных OLE DB для SQL Server предоставляет интерфейсы инициализации OLE DB, позволяющие потребителю подключаться к существующим базам данных SQL Server.

Все подключения, созданные через 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 для SQL Server приложение-потребитель может инициализировать источник данных и создавать сеансы. Сеансы OLE DB предоставляют интерфейсы, через которые можно получать доступ к данным и манипулировать ими.

Драйвер OLE DB для SQL Server делает свое первое подключение к указанному экземпляру SQL Server в рамках успешной инициализации источника данных. Подключение сохраняется до тех пор, пока ссылка сохраняется в любом интерфейсе инициализации источника данных или до вызова IDBInitialize::Uninitialize метода.

В этом разделе

См. также

Программирование драйвера OLE DB для SQL Server