Share via


Objets source de données (OLE DB)

SQL Server Native Client utilise le terme « source de données » pour l'ensemble des interfaces OLE DB utilisées pour établir un lien vers une banque de données, telle 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 du fournisseur OLE DB SQL Server Native Client est le GUID CLSID_SQLNCLI10 de C/C++ (le symbole SQLNCLI_CLSID est converti en ProgID correct dans le fichier sqlncli.h que vous référencez). À l'aide du 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 du fournisseur OLE DB SQL Server Native Client sont créées à l'aide de la macro CLSCTX_INPROC_SERVER de manière à indiquer le contexte exécutable.

L'objet source de données du fournisseur OLE DB SQL Server Native Client contient les interfaces d'initialisation OLE DB qui permettent au consommateur de se connecter à des 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 source de données du 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.
}

S'il parvient à créer avec succès une instance d'un objet source de données du fournisseur OLE DB SQL Server Native Client, le consommateur peut aller plus loin avec son application 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écifique de SQL Server dans le cadre d'une initialisation de source de données menée en bonne et due forme. La connexion est maintenue tant qu'une référence est conservée dans toutes les interfaces d'initialisation de la source de données ou jusqu'à ce que la méthode IDBInitialize::Uninitialize soit appelée.