SQL Server Native Client Data Source Objects (OLE DB)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Important

A SQL Server natív ügyfél (gyakran rövidített SNAC) el lett távolítva az SQL Server 2022 (16.x) és az SQL Server Management Studio 19 (SSMS) szolgáltatásból. Az SQL Server natív ügyféloldali OLE DB-szolgáltatója (SQLNCLI vagy SQLNCLI11) és az SQL Serverhez készült régi Microsoft OLE DB-szolgáltató (SQLOLEDB) nem ajánlott új fejlesztéshez. Váltson az új Microsoft OLE DB-illesztőprogramra (MSOLEDBSQL) az SQL Serverhez, és a jövőben is ezt használja.

Az SQL Server Native Client az adatforrás kifejezést használja az OLE DB interfészek halmazára, amelyeket adattárolóhoz való linket hoznak létre, például az SQL Server-hez. Az SQL Server Native Client felhasználó első feladata a szolgáltató adatforrás objektumának példányának létrehozása.

Minden OLE DB szolgáltató saját osztályazonosítót (CLSID) jelent meg magának. A SQL Server Native Client OLE DB szolgáltató CLSID-je a C/C++ GUID CLSID_SQLNCLI10 (a szimbólum SQLNCLI_CLSID a sqlncli.h fájlban a megfelelő progid leszolódik, amit használsz). A CLSID-nél a fogyasztó az OLE CoCreateInstance függvényt használja az adatforrás objektum példányának előállítására.

Az SQL Server Native Client egy folyamatban lévő szerver. SQL Server Native Client OLE DB szolgáltató objektumok példányait a CLSCTX_INPROC_SERVER makró segítségével hozzák létre, hogy jelezzék a futtatható kontextust.

Az SQL Server Native Client OLE DB provider adatforrás objektuma elérhetővé teszi az OLE DB inicializációs felületeit, amelyek lehetővé teszik a felhasználó számára, hogy csatlakozzon meglévő SQL Server adatbázisokhoz.

Minden kapcsolat, amelyet az SQL Server Native Client OLE DB szolgáltatóján keresztül létrejön, automatikusan beállítja ezeket a lehetőségeket:

  • SET ANSI_WARNINGS BEKAPCSOLT

  • SET ANSI_NULLS BEKAPCSOLT

  • SET ANSI_PADDING BEKAPCSOLT

  • SET ANSI_NULL_DFLT_ON BEKAPCSOLT

  • SET QUOTED_IDENTIFIER BEKAPCSOLT

  • SET CONCAT_OF_NULL_YIELDS_NULL U

Ez a példa az osztályazonosító makrót használja egy SQL Server Native Client OLE DB provider adatforrás objektum létrehozásához, és hivatkozást kap annak IDBInitialize felületére.

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.  
}  

Az SQL Server Native Client OLE DB provider adatforrás objektumának sikeres létrehozásával a fogyasztói alkalmazás folytathatja az adatforrás inicializálását és a munkamenetek létrehozását. Az OLE DB ülések bemutatják azokat az interfészeket, amelyek lehetővé teszik az adathozzáférést és a feldolgozást.

Az SQL Server Native Client OLE DB szolgáltató először csatlakozik egy meghatározott SQL Server példányhoz a sikeres adatforrás inicializálás részeként. A kapcsolat addig fennmarad, amíg bármely adatforrás inicializációs interfészén is megvan egy hivatkozás, vagy amíg az IDBInitialize::Uninitialize metódus meg nem hívódik.

Ebben a részben