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

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

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

Драйвер OLE DB для 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 для 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