Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Om toegang te krijgen tot de SQL Server Native Client OLE DB-provider, moet de consument eerst een instantie van een databronobject aanmaken door de CoCreateInstance-methode aan te roepen. Een unieke klasse-identificatie (CLSID) identificeert elke OLE DB-provider. Voor de SQL Server Native Client OLE DB-provider is de klasse-identificatie CLSID_SQLNCLI10. Je kunt ook het symbool gebruiken SQLNCLI_CLSID dat wordt opgelost naar de SQL Server Native Client OLE DB-provider die wordt gebruikt in de sqlncli.h waar je naar verwijst.
Het databronobject stelt de IDBProperties-interface beschikbaar, die de consument gebruikt om basisauthenticatie-informatie te verstrekken zoals servernaam, databasenaam, gebruikers-ID en wachtwoord. De methode IDBProperties::SetProperties wordt aangeroepen om deze eigenschappen in te stellen.
Als er meerdere instanties van SQL Server op de computer draaien, wordt de servernaam gespecificeerd als ServerName\InstanceName.
Het databronobject maakt ook de IDBInitialize-interface beschikbaar. Nadat de eigenschappen zijn ingesteld, wordt de verbinding met de databron tot stand gebracht door de methode IDBInitialize::Initialize aan te roepen. Voorbeeld:
CoCreateInstance(CLSID_SQLNCLI10,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDBInitialize,
(void **) &pIDBInitialize)
Deze aanroep van CoCreateInstance creëert één object van de klasse die aan CLSID_SQLNCLI10 is gekoppeld (CSLID gekoppeld aan de data en code die gebruikt zullen worden om het object te maken). IID_IDBInitialize is een verwijzing naar de identificatie van de interface (IDBInitialize) die gebruikt wordt om met het object te communiceren.
Het volgende is een voorbeeldfunctie die initialiseert en een verbinding met de databron tot stand brengt.
void InitializeAndEstablishConnection() {
// Initialize the COM library.
CoInitialize(NULL);
// Obtain access to the SQL Server Native Client OLE DB provider.
hr = CoCreateInstance(CLSID_SQLNCLI10,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDBInitialize,
(void **) &pIDBInitialize);
// Initialize property values needed to establish connection.
for (i = 0 ; i < 4 ; i++)
VariantInit(&InitProperties[i].vValue);
// Server name.
// See DBPROP structure for more information on InitProperties
InitProperties[0].dwPropertyID = DBPROP_INIT_DATASOURCE;
InitProperties[0].vValue.vt = VT_BSTR;
InitProperties[0].vValue.bstrVal=
SysAllocString(L"Server");
InitProperties[0].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[0].colid = DB_NULLID;
// Database.
InitProperties[1].dwPropertyID = DBPROP_INIT_CATALOG;
InitProperties[1].vValue.vt = VT_BSTR;
InitProperties[1].vValue.bstrVal= SysAllocString(L"database");
InitProperties[1].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[1].colid = DB_NULLID;
// Username (login).
InitProperties[2].dwPropertyID = DBPROP_AUTH_INTEGRATED;
InitProperties[2].vValue.vt = VT_BSTR;
InitProperties[2].vValue.bstrVal= SysAllocString(L"SSPI");
InitProperties[2].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[2].colid = DB_NULLID;
InitProperties[3].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[3].colid = DB_NULLID;
// Construct the DBPROPSET structure(rgInitPropSet). The
// DBPROPSET structure is used to pass an array of DBPROP
// structures (InitProperties) to the SetProperties method.
rgInitPropSet[0].guidPropertySet = DBPROPSET_DBINIT;
rgInitPropSet[0].cProperties = 4;
rgInitPropSet[0].rgProperties = InitProperties;
// Set initialization properties.
hr = pIDBInitialize->QueryInterface(IID_IDBProperties,
(void **)&pIDBProperties);
hr = pIDBProperties->SetProperties(1, rgInitPropSet);
pIDBProperties->Release();
// Now establish the connection to the data source.
pIDBInitialize->Initialize();
}