Datenquellenobjekte (OLE DB)
SQL Server Native Client verwendet den Begriff "Datenquelle" für die Gruppe der OLE DB-Schnittstellen, die zum Herstellen einer Verknüpfung zum Datenspeicher verwendet werden, z. B. SQL Server. Das Erstellen einer Instanz des Datenquellenobjekts des Anbieters ist die erste Aufgabe eines SQL Server Native Client-Consumers.
Jeder OLE DB-Anbieter deklariert einen Klassenbezeichner (CLSID) für sich. Die CLSID für den SQL Server Native Client OLE DB-Anbieter ist die C/C++-GUID CLSID_SQLNCLI10 (das Symbol SQLNCLI_CLSID wird in die korrekte progid in der Datei sqlncli.h aufgelöst, die Sie referenzieren). Mit der CLSID verwendet der Consumer die OLE-Funktion CoCreateInstance zum Erstellen einer Instanz des Datenquellenobjekts.
SQL Server Native Client ist ein prozessinterner Server. Instanzen von SQL Server Native Client OLE DB-Anbieterobjekten werden mithilfe des CLSCTX_INPROC_SERVER-Makros erstellt, um den ausführbaren Kontext anzugeben.
Das Datenquellenobjekt des SQL Server Native Client OLE DB-Anbieters macht die OLE DB-Initialisierungsschnittstellen verfügbar, die Consumern ermöglichen, Verbindungen zu vorhandenen SQL Server-Datenbanken herzustellen.
Jede durch den SQL Server Native Client OLE DB-Anbieter 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 SQL Server Native Client OLE DB-Anbieter-Datenquellenobjekts und zum Abrufen einer Referenz auf die IDBInitialize-Schnittstelle.
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.
}
Mit der erfolgreichen Erstellung einer Instanz eines SQL Server Native Client OLE DB-Anbieter-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 SQL Server Native Client OLE DB-Anbieter stellt die erste Verbindung zu einer angegebenen Instanz von SQL Server als Teil einer erfolgreichen Datenquelleninitialisierung her. Die Verbindung wird beibehalten, solange eine Referenz oder eine Datenquellen-Initialisierungsschnittstelle beibehalten wird oder bis die IDBInitialize::Uninitialize-Methode aufgerufen wird.
In diesem Abschnitt