Share via


Datenquellenobjekte (OLE DB)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

OLE DB-Treiber herunterladen

Der OLE DB-Treiber für SQL Server verwendet den Begriff „Datenquelle“ für die Gruppe der OLE DB-Schnittstellen, die zum Herstellen einer Verknüpfung mit dem Datenspeicher verwendet werden, z.B. SQL Server. Die erste Aufgabe eines Consumers des OLE DB-Treibers für SQL Server besteht darin, eine Instanz des Datenquellenobjekts des Anbieters zu erstellen.

Jeder OLE DB-Anbieter deklariert einen Klassenbezeichner (CLSID) für sich. Die CLSID für den OLE DB-Treiber für SQL Server ist die C/C++-GUID CLSID_MSOLEDBSQL (das Symbol MSOLEDBSQL_CLSID wird in die korrekte ProgID in der msoledbsql.h-Datei aufgelöst, auf die Sie verweisen). Mit der CLSID verwendet der Consumer die OLE-Funktion CoCreateInstance zum Erstellen einer Instanz des Datenquellenobjekts.

Der OLE DB-Treiber für SQL Server ist ein In-Process-Server. Instanzen von OLE DB-Treiber für SQL Server-Objekten werden mithilfe des Makros CLSCTX_INPROC_SERVER erstellt, um den ausführbaren Kontext anzugeben.

Das Datenquellenobjekt des OLE DB-Treibers für SQL Server stellt die OLE DB-Initialisierungsschnittstellen bereit, die Consumern ermöglichen, Verbindungen zu vorhandenen SQL Server-Datenbanken herzustellen.

Jede über den OLE DB-Treiber für SQL Server hergestellte Verbindung legt diese Optionen automatisch fest:

  • 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

Dieses Beispiel verwendet das Klassenbezeichnermakro zum Erstellen eines OLE DB-Treiber für SQL Server-Datenquellenobjekts und zum Abrufen einer Referenz auf die IDBInitialize-Schnittstelle.

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.
}

Mit der erfolgreichen Erstellung einer Instanz eines OLE DB-Treiber für SQL Server-Datenquellenobjekts kann die Consumeranwendung fortfahren, indem die Datenquelle initialisiert und Sitzungen erstellt werden. OLE DB-Sitzungen präsentieren die Schnittstellen, die Datenzugriff und -bearbeitung ermöglichen.

Der OLE DB-Treiber für SQL Server stellt die erste Verbindung zu einer angegebenen Instanz von SQL Server als Teil einer erfolgreichen Datenquelleninitialisierung her. Die Verbindung wird beibehalten, solange eine Referenz auf einer beliebigen Datenquellen-Initialisierungsschnittstelle beibehalten wird oder bis die Methode IDBInitialize::Uninitialize aufgerufen wird.

In diesem Abschnitt

Weitere Informationen

OLE DB-Treiber für SQL Server-Programmierung