SQL Server Native Client Datenquellenobjekte (OLE DB)
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Wichtig
Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).
SQL Server Native Client verwendet den Begriff Datenquelle für den Satz von OLE DB-Schnittstellen, die verwendet werden, um eine Verknüpfung mit einem Datenspeicher herzustellen, 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 richtige Progid in der Datei sqlncli.h aufgelöst, auf die Sie verweisen). Mit der CLSID verwendet der Consumer die OLE-Funktion CoCreateInstance zum Erstellen einer Instanz des Datenquellenobjekts.
SQL Server Native Client ist ein Prozessserver. Instanzen von SQL Server Native Client OLE DB-Anbieterobjekten werden mithilfe des makros CLSCTX_INPROC_SERVER erstellt, um den ausführbaren Kontext anzugeben.
Das SQL Server Native Client Datenquellenobjekts des OLE DB-Anbieters macht die OLE DB-Initialisierungsschnittstellen verfügbar, mit denen der Consumer eine Verbindung mit vorhandenen SQL Server Datenbanken herstellen kann.
Bei jeder Verbindung, die über den SQL Server Native Client OLE DB-Anbieter hergestellt wird, werden diese Optionen automatisch festgelegt:
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
In diesem Beispiel wird das Klassenbezeichnermakro verwendet, um ein SQL Server Native Client OLE DB-Anbieterdatenquellobjekt zu erstellen und einen Verweis auf die IDBInitialize-Schnittstelle abzurufen.
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.
}
Nach erfolgreicher Erstellung einer Instanz eines SQL Server Native Client OLE DB-Anbieterdatenquellobjekts kann die Consumeranwendung fortfahren, indem sie die Datenquelle initialisiert und Sitzungen erstellt. OLE DB-Sitzungen präsentieren die Schnittstellen, die Datenzugriff und -bearbeitung ermöglichen.
Der SQL Server Native Client OLE DB-Anbieter stellt seine erste Verbindung mit einer angegebenen Instanz von SQL Server im Rahmen 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für