Sdílet prostřednictvím


Hlavní názvy služeb (SPN) v klientských připojeních (OLE DB) v nativním klientovi SQL Serveru

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed InstanceAzure Synapse AnalyticsPlatform Platform System (PDW)

Stáhnout ovladač OLE DB

Tento článek popisuje vlastnosti OLE DB a členské funkce, které podporují hlavní názvy služeb (SPN) v klientských aplikacích. Další informace o hlavních názvech služby v klientských aplikacích naleznete v tématu Podpora hlavního názvu služby (SPN) v klientských připojeních. Ukázku najdete vintegrované ověřování kerberos (OLE DB).

Klíčová slova řetězce inicializace zprostředkovatele

Následující klíčová slova řetězce inicializace zprostředkovatele podporují hlavní názvy služby (SPN) v aplikacích OLE DB. V následující tabulce se hodnoty ve sloupci klíčového slova používají pro řetězec zprostředkovatele IDBInitialize::Initialize. Hodnoty ve sloupci popisu se používají v inicializačních řetězcích při připojování pomocí ADO nebo IDataInitialize::GetDataSource.

Klíčové slovo Popis Hodnota
ServerSPN Hlavní název služby serveru Hlavní název služby (SPN) pro server. Výchozí hodnota je prázdný řetězec, který způsobí, že ovladač OLE DB pro SQL Server použije výchozí zprostředkovatel vygenerovaný hlavní název služby( SPN).
FailoverPartnerSPN Hlavní název služby partnera pro převzetí služeb při selhání Hlavní název služby (SPN) partnera pro převzetí služeb při selhání. Výchozí hodnota je prázdný řetězec, který způsobí, že ovladač OLE DB pro SQL Server použije výchozí zprostředkovatel vygenerovaný hlavní název služby( SPN).

Vlastnosti inicializace zdroje dat

Následující vlastnosti v sadě vlastností DBPROPSET_SQLSERVERDBINIT umožňují aplikacím zadat nebo číst hlavní názvy služeb.

Jméno Typ Zvyk
SSPROP_INIT_SERVERSPN VT_BSTR, čtení a zápis Určuje hlavní název služby (SPN) pro server. Výchozí hodnota je prázdný řetězec, který způsobí, že ovladač OLE DB pro SQL Server použije výchozí zprostředkovatel vygenerovaný hlavní název služby( SPN).
SSPROP_INIT_FAILOVERPARTNERSPN VT_BSTR, čtení a zápis Určuje hlavní název služby (SPN) partnera pro převzetí služeb při selhání. Výchozí hodnota je prázdný řetězec, který způsobí, že ovladač OLE DB pro SQL Server použije výchozí zprostředkovatel vygenerovaný hlavní název služby( SPN).
SSPROP_INIT_DISCOVEREDSERVERSPN VT_BSTR, jen pro čtení Používá se k dotazování hlavního názvu služby serveru připojení. (Verze 18.6.3 nebo novější)

Vlastnosti zdroje dat

Následující vlastnosti v sadě vlastností DBPROPSET_SQLSERVERDATASOURCEINFO umožňují aplikacím zjistit metodu ověřování.

Jméno Typ Zvyk
SSPROP_INTEGRATEDAUTHENTICATIONMETHOD VT_BSTR, jen pro čtení Vrátí metodu ověřování použitou pro připojení. Hodnota vrácená do aplikace je hodnota, kterou systém Windows vrátí do ovladače OLE DB pro SQL Server. Následující možné hodnoty:
NtLM, který se vrátí při otevření připojení pomocí ověřování NTLM.
"Kerberos", který se vrátí při otevření připojení pomocí ověřování kerberos.

Pokud se otevřelo připojení a metodu ověřování nelze určit, VT_EMPTY se vrátí.

Tuto vlastnost lze číst pouze v případě, že byl inicializován zdroj dat. Pokud se pokusíte přečíst vlastnost před inicializovaným zdrojem dat, vrátí IDBProperties::GetProperties podle potřeby DB_S_ERRORSOCCURRED nebo DB_E_ERRORSOCCURRED a DBPROPSTATUS_NOTSUPPORTED se pro tuto vlastnost nastaví v DBPROPSET_PROPERTIESINERROR. Toto chování je v souladu se specifikací jádra OLE DB.
SSPROP_MUTUALLYAUTHENTICATED VT_BOOL, jen pro čtení Vrátí VARIANT_TRUE, pokud byly servery na připojení vzájemně ověřeny; v opačném případě vrátí VARIANT_FALSE.

Tuto vlastnost lze číst pouze v případě, že byl inicializován zdroj dat. Pokud se pokusíte přečíst vlastnost předtím, než se inicializuje zdroj dat, vrátí funkce IDBProperties::GetProperties DB_S_ERRORSOCCURRED nebo DB_E_ERRORSOCCURRED a DBPROPSTATUS_NOTSUPPORTED se pro tuto vlastnost nastaví v DBPROPSET_PROPERTIESINERROR. Toto chování je v souladu se specifikací jádra OLE DB.

Pokud se tento atribut dotazuje na připojení, které nepoužilo ověřování systému Windows, vrátí se VARIANT_FALSE.

Podpora rozhraní API OLE DB pro hlavní názvy služeb (SPN)

Následující tabulka popisuje členské funkce OLE DB, které podporují hlavní názvy služeb (SPN) v klientských připojeních:

Členová funkce Popis
IDataInitialize::GetDataSource pwszInitializationString může obsahovat nová klíčová slova ServerSPN a FailoverPartnerSPN.
IDataInitialize::GetInitializationString Pokud SSPROP_INIT_SERVERSPN a SSPROP_INIT_FAILOVERPARTNERSPN nemají výchozí hodnoty, budou zahrnuty do inicializačního řetězce prostřednictvím ppwszInitString jako hodnoty klíčových slov pro ServerSPN a FailoverPartnerSPN. V opačném případě nebudou tato klíčová slova zahrnuta do inicializačního řetězce.
IDBInitialize::Initialize Pokud je výzva povolena nastavením DBPROP_INIT_PROMPT ve vlastnostech inicializace zdroje dat, zobrazí se dialogové okno Přihlášení ole DB. To umožňuje zadat hlavní server i partnera pro převzetí služeb při selhání.

Řetězec zprostředkovatele v DBPROP_INIT_PROVIDERSTRING, pokud je nastaven, rozpozná nová klíčová slova ServerSPN a FailoverPartnerSPN a použije jejich hodnoty, pokud existuje, k inicializaci SSPROP_INIT_SERVER_SPN a SSPROP_INIT_FAILOVER_PARTNER_SPN.

IDBProperties::SetProperties lze volat k nastavení vlastností SSPROP_INIT_SERVER_SPN a SSPROP_INIT_FAILOVER_PARTNER_SPN před zavolání IDBInitialize::Initialize. Toto je alternativa k použití řetězce zprostředkovatele.

Pokud je vlastnost nastavena na více než jedno místo, má sada hodnot programově přednost před hodnotou nastavenou v řetězci zprostředkovatele. Hodnota nastavená v inicializačním řetězci má přednost před hodnotou nastavenou v dialogovém okně pro přihlášení.

Pokud se stejné klíčové slovo v řetězci zprostředkovatele zobrazí vícekrát, má přednost hodnota z prvního výskytu.
IDBProperties::GetProperties IDBProperties::GetProperties lze volat pro získání hodnot nových vlastností inicializace zdroje dat SSPROP_INIT_SERVERSPN a SSPROP_INIT_FAILOVERPARTNERSPN a nových vlastností zdroje dat SSPROP_AUTHENTICATIONMETHOD a SSPROP_MUTUALLYAUTHENTICATED.
IDBProperties::GetPropertyInfo IdbProperties::GetPropertyInfo bude obsahovat nové vlastnosti inicializace zdroje dat SSPROP_INIT_SERVERSPN a SSPROP_INIT_FAILOVERPARTNERSPN nebo nové vlastnosti zdroje dat SSPROP_AUTHENTICATION_METHOD a SSPROP_MUTUALLYAUTHENTICATED.
IDBProperties::SetProperties IDBProperties::SetProperties lze volat, aby se nastavily hodnoty nových vlastností inicializace zdroje dat SSPROP_INITSERVERSPN a SSPROP_INIT_FAILOVERPARTNERSPN.

Tyto vlastnosti lze kdykoli nastavit, ale pokud je zdroj dat již otevřený, vrátí se následující chyba: DB_E_ERRORSOCCURRED" Operace OLE DB vygenerovala vícestupňové chyby. Zkontrolujte každou hodnotu stavu OLE DB, pokud je k dispozici. Nebyla provedena žádná práce."

Viz také

ovladač OLE DB pro programování SQL Serveru