Partager via


Objets source de données (OLE DB)

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

Télécharger le pilote OLE DB

Le pilote OLE DB pour SQL Server 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, comme SQL Server. La première tâche qu’effectue un consommateur d’OLE DB Driver pour SQL Server est de créer une instance de l’objet source de données du fournisseur.

Chaque fournisseur OLE DB déclare un identificateur de classe (CLSID) pour lui-même. Le CLSID de l’OLE DB Driver for SQL Server est le GUID CLSID_MSOLEDBSQL de C/C++ (le symbole MSOLEDBSQL_CLSID est converti en ProgID correct dans le fichier msoledbsql.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.

OLE DB Driver pour SQL Server est un serveur in-process. Les instances du pilote OLE DB pour SQL Server sont créées avec la macro CLSCTX_INPROC_SERVER pour indiquer le contexte exécutable.

L’objet source de données du pilote OLE DB pour SQL Server expose 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 OLE DB Driver pour SQL Server 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 pour le pilote OLE DB pour SQL Server et obtenir une référence à son interface IDBInitialize.

IDBInitialize*   pIDBInitialize;
HRESULT          hr;

hr = CoCreateInstance(CLSID_MSOLEDBSQL, 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 réussit à créer une instance d’un objet source de données du pilote OLE DB pour SQL Server, l’application du 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 pilote OLE DB pour SQL Server établit sa première connexion à une instance spécifique de SQL Server dans le cadre d’une initialisation réussie d’une 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

Programmation OLE DB Driver pour SQL Server