SQL Server Native Client Data Source Objects (OLE DB)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformní systém (PDW)

Důležité

Nativní klient SQL Serveru (často zkracovaný jako SNAC) byl odebrán z SQL Serveru 2022 (16.x) a SQL Server Management Studio 19 (SSMS). Pro nový vývoj se nedoporučuje zprostředkovatele SQL Server Native Client OLE DB (SQLNCLI nebo SQLNCLI11) ani starší verze zprostředkovatele Microsoft OLE DB pro SQL Server (SQLOLEDB). Přejděte na nový ovladač Microsoft OLE DB (MSOLEDBSQL) pro SQL Server do budoucna.

SQL Server Native Client používá termín zdroj dat pro sadu rozhraní OLE DB používaných k navázání spojení s datovým úložištěm, například SQL Server. Vytvoření instance objektu datového zdroje poskytovatele je prvním úkolem uživatele SQL Server Native Client.

Každý poskytovatel OLE DB si sám deklaruje identifikátor třídy (CLSID). CLSID pro poskytovatele OLE DB SQL Server Native Client je C/C++ GUID CLSID_SQLNCLI10 (symbol SQLNCLI_CLSID se v souboru sqlncli.h, na který odkazujete, vyjedná správný progid). U CLSID uživatel používá funkci OLE CoCreateInstance k vytvoření instance objektu datového zdroje.

SQL Server Native Client je server v procesu. Instance objektů poskytovatele SQL Server Native Client OLE DB jsou vytvářeny pomocí makra CLSCTX_INPROC_SERVER, které indikuje spustitelný kontext.

Objekt zdrojového zdroje dat poskytovatele OLE DB pro nativního klienta OLE DB SQL Server zpřístupňuje inicializační rozhraní OLE DB, která umožňují uživateli připojit se k existujícím databázím SQL Server.

Každé spojení vytvořené přes poskytovatele SQL Server Native Client OLE DB automaticky nastavuje tyto možnosti:

  • 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 ZAPNUTÉ

Tento příklad využívá makro identifikátoru třídy k vytvoření zdrojového objektu zdrojového zdroje dat poskytovatele OLE DB pro nativní klienty SQL Server a získání odkazu na jeho rozhraní 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.  
}  

Po úspěšném vytvoření instance datového zdrojového objektu poskytovatele OLE DB pro nativní klienty SQL Server může spotřebitelská aplikace pokračovat inicializací datového zdroje a vytvářením relací. OLE DB relace představují rozhraní, která umožňují přístup k datům a jejich manipulaci.

Poskytovatel SQL Server Native Client OLE DB naváže první spojení se specifikovanou instancí SQL Server jako součást úspěšné inicializace datového zdroje. Spojení je udržováno, dokud je na jakémkoli inicializačním rozhraní datového zdroje udržována reference, nebo dokud není vyvolána metoda IDBInitialize::Uninitialize .

V této sekci

Viz také

Nativní klient SQL Serveru (OLE DB)