Partager via


SQL Server Native Client Data Source Objects (OLE DB)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.

SQL Server Native Client utilise le terme source de données pour l’ensemble d’interfaces OLE DB utilisées pour établir un lien vers un magasin de données, tel que SQL Server. La création d’une instance de l’objet source de données du fournisseur est la première tâche d’un consommateur SQL Server Native Client.

Chaque fournisseur OLE DB déclare un identificateur de classe (CLSID) pour lui-même. Le CLSID pour le fournisseur OLE DB SQL Server Native Client est le GUID C/C++ CLSID_SQLNCLI10 (le symbole SQLNCLI_CLSID sera résolu en progid correct dans le fichier sqlncli.h que vous référencez). Avec le CLSID, le consommateur utilise la fonction OLE CoCreateInstance pour fabriquer une instance de l’objet source de données.

SQL Server Native Client est un serveur in-process. Les instances des objets du fournisseur OLE DB SQL Server Native Client sont créées à l’aide de la macro CLSCTX_INPROC_SERVER pour indiquer le contexte exécutable.

L’objet source de données du fournisseur OLE DB SQL Server Native Client expose les interfaces d’initialisation OLE DB qui permettent au consommateur de se connecter aux bases de données SQL Server existantes.

Chaque connexion établie via le fournisseur OLE DB SQL Server Native Client définit automatiquement ces options :

  • 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

Cet exemple utilise la macro d’identificateur de classe pour créer un objet source de données de fournisseur OLE DB SQL Server Native Client et obtenir une référence à son interface 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.  
}  

Avec la création réussie d’une instance d’un objet source de données du fournisseur OLE DB SQL Server Native Client, l’application consommateur peut continuer en initialisant la source de données et en créant des sessions. Les sessions OLE DB présentent des interfaces qui permettent d'accéder à des données et de les manipuler.

Le fournisseur OLE DB SQL Server Native Client établit sa première connexion à une instance spécifiée de SQL Server dans le cadre d’une initialisation de source de données réussie. La connexion est maintenue tant qu’une référence est conservée dans toutes les interfaces d’initialisation de source de données, ou jusqu’à l’appel de la méthode IDBInitialize::Uninitialize.

Dans cette section

Voir aussi

SQL Server Native Client (OLE DB)