objets de source de données SQL Server Native Client (OLE DB)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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, comme 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 du fournisseur OLE DB SQL Server Native Client est l’CLSID_SQLNCLI10 GUID C/C++ (symbole SQLNCLI_CLSID est 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 d’objets de 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 les options suivantes :

  • 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 SQL Server Native Client source de données du fournisseur OLE DB 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 de 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 de SQL Server spécifiée dans le cadre d’une initialisation réussie de source de données. 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)