SQL Server Native Client oggetti origine dati (OLE DB)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

Importante

La SQL Server Native Client (spesso abbreviata SNAC) è stata rimossa da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non è consigliato per il nuovo sviluppo. Passare al nuovo driver Microsoft OLE DB (MSOLEDBSQL) per SQL Server in futuro.

SQL Server Native Client usa il termine origine dati per il set di interfacce OLE DB usate per stabilire un collegamento a un archivio dati, ad esempio SQL Server. La creazione di un'istanza dell'oggetto origine dati del provider è la prima attività di un consumer SQL Server Native Client.

Ogni provider OLE DB dichiara un identificatore di classe (CLSID) per se stesso. CLSID per il provider OLE DB SQL Server Native Client è il GUID C/C++ CLSID_SQLNCLI10 (il simbolo SQLNCLI_CLSID verrà risolto nel file sqlncli.h corretto a cui si fa riferimento). Con il CLSID, il consumer usa la funzione OLE CoCreateInstance per produrre un'istanza dell'oggetto origine dati.

SQL Server Native Client è un server in-process. Le istanze di SQL Server Native Client oggetti provider OLE DB vengono create usando la macro CLSCTX_INPROC_SERVER per indicare il contesto eseguibile.

L'oggetto origine dati del provider OLE DB SQL Server Native Client espone le interfacce di inizializzazione OLE DB che consentono al consumer di connettersi ai database SQL Server esistenti.

Ogni connessione eseguita tramite il provider OLE DB SQL Server Native Client imposta automaticamente queste opzioni:

  • 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

In questo esempio viene usata la macro identificatore di classe per creare un oggetto origine dati del provider OLE DB SQL Server Native Client e ottenere un riferimento all'interfaccia 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.  
}  

Con la corretta creazione di un'istanza di un oggetto origine dati del provider OLE DB SQL Server Native Client, l'applicazione consumer può continuare inizializzando l'origine dati e creando sessioni. Le sessioni OLE DB presentano le interfacce che consentono l'accesso ai dati e la relativa modifica.

Il provider OLE DB SQL Server Native Client effettua la prima connessione a un'istanza specificata di SQL Server come parte di un'inizializzazione dell'origine dati riuscita. La connessione viene mantenuta a condizione che venga mantenuto un riferimento in una delle interfacce di inizializzazione dell'origine dati o fino a quando non viene chiamato il metodo IDBInitialize::Uninitialize.

Contenuto della sezione

Vedere anche

SQL Server Native Client (OLE DB)