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)
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 v
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." |