объекты источника данных SQL Server Native Client (OLE DB)
Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)
Важно!
SQL Server Native Client (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Для новой разработки не рекомендуется использовать SQL Server Native Client поставщик OLE DB (SQLNCLI или SQLNCLI11) и устаревший поставщик OLE DB Майкрософт для SQL Server (SQLOLEDB). Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server в будущем.
SQL Server Native Client используется термин источник данных для набора интерфейсов OLE DB, используемых для установления связи с хранилищем данных, например SQL Server. Создание экземпляра объекта источника данных поставщика является первой задачей потребителя SQL Server Native Client.
Каждый поставщик OLE DB объявляет свой идентификатор класса (CLSID). CLSID для поставщика OLE DB SQL Server Native Client является CLSID_SQLNCLI10 GUID C/C++ (символ, SQLNCLI_CLSID будет разрешаться в правильный progid в файле sqlncli.h, на который вы ссылаетесь). Используя CLSID, потребитель может вызвать функцию OLE CoCreateInstance для создания экземпляра объекта источника данных.
SQL Server Native Client является внутрипроцессным сервером. Экземпляры объектов поставщика SQL Server Native Client OLE DB создаются с помощью макроса CLSCTX_INPROC_SERVER для указания контекста исполняемого файла.
Объект источника данных поставщика OLE DB SQL Server Native Client предоставляет интерфейсы инициализации OLE DB, которые позволяют потребителю подключаться к существующим базам данных SQL Server.
Каждое подключение, выполненное через 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 приложение-получатель может продолжить работу, инициализировав источник данных и создав сеансы. Сеансы OLE DB предоставляют интерфейсы, через которые можно получать доступ к данным и манипулировать ими.
Поставщик SQL Server Native Client OLE DB устанавливает первое подключение к указанному экземпляру SQL Server в рамках успешной инициализации источника данных. Соединение с источником данных поддерживается до тех пор, пока хранятся ссылки на любой интерфейс инициализации источника данных или пока не вызван метод IDBInitialize::Uninitialize.
в этом разделе
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по