Główne nazwy usług (SPN) w połączeń klienta (OLE DB)
W tym temacie opisano właściwości OLE DB i funkcji element członkowski, które obsługują główne nazwy usługa (SPN) w klient aplikacji.Aby uzyskać więcej informacji dotyczących nazwy SPN w klient aplikacji, zobacz Obsługa głównej nazwy usługi (główna nazwa usługi) w połączeń klientów.
Słowa kluczowe ciąg inicjalizacji dostawcy
Następujące kluczowe ciąg inicjalizacji dostawca obsługuje nazwy SPN w aplikacji OLE DB.W poniższej tabela używane są wartości kolumna słowo kluczowe dostawca ciąg IDBInitialize::Initialize.Wartości kolumna Opis używanych w ciągów inicjacji podczas łączenia przy użyciu obiektu ADO lub IDataInitialize::GetDataSource.
Słowo kluczowe |
Opis |
Wartość |
---|---|---|
ServerSPN |
Serwera główna nazwa usługi |
Nazwy główna nazwa usługi serwera.Wartością domyślną jest ciąg pusty, co powoduje, że SQL Server Native Client, aby użyć domyślnego, generowane dostawca główna nazwa usługi. |
FailoverPartnerSPN |
Partner pracy awaryjnej główna nazwa usługi |
Nazwa główna nazwa usługi partner pracy awaryjnej.Wartością domyślną jest ciąg pusty, co powoduje, że SQL Server Native Client, aby użyć domyślnego, generowane dostawca główna nazwa usługi. |
Właściwości inicjowania źródła danych
Następujące właściwość w DBPROPSET_SQLSERVERDBINIT zestaw właściwość umożliwiają aplikacjom określić nazwy SPN.
Nazwa |
Typ |
Użycie |
---|---|---|
SSPROP_INIT_SERVERSPN |
VT_BSTR, Odczyt i zapis |
Określa nazwę główna nazwa usługi serwera.Wartością domyślną jest ciąg pusty, co powoduje, że SQL Server Native Client, aby użyć domyślnego, generowane dostawca główna nazwa usługi. |
SSPROP_INIT_FAILOVERPARTNERSPN |
VT_BSTR, Odczyt i zapis |
Określa nazwę główna nazwa usługi partner pracy awaryjnej.Wartością domyślną jest ciąg pusty, co powoduje, że SQL Server Native Client, aby użyć domyślnego, generowane dostawca główna nazwa usługi. |
Właściwości źródła danych
Następujące właściwość w DBPROPSET_SQLSERVERDATASOURCEINFO zestaw właściwość umożliwiają aplikacjom Odkryj metoda uwierzytelnianie.
Nazwa |
Typ |
Użycie |
---|---|---|
SSPROP_INTEGRATEDAUTHENTICATIONMETHOD |
VT_BSTR tylko do odczytu |
Zwraca metoda uwierzytelnianie używana dla połączenia.Wartość zwracana do aplikacji jest wartość, która zwraca Windows SQL Server macierzystego klienta.Możliwe wartości są następujące:
Jeśli połączenie zostało otwarte i uwierzytelnianie metoda nie może być ustalona, VT_EMPTY jest zwracany. Ta właściwość mogą odczytywać tylko, gdy źródło danych został zainicjowany.Jeśli próba odczytu właściwość przed źródło danych został zainicjowany, IDBProperties::GetProperies zwróci DB_S_ERRORSOCCURRED lub DB_E_ERRORSOCCURRED, odpowiednio, i będzie DBPROPSTATUS_NOTSUPPORTED zestaw w DBPROPzestaw_PROPERTIESINERROR dla tej właściwość.To zachowanie jest zgodnie ze specyfikacją OLE DB core. |
SSPROP_MUTUALLYAUTHENICATED |
VT_BOOL, tylko do odczytu. |
Zwraca VARIANT_TRUE, jeśli serwery połączenia wzajemnie zostały uwierzytelnione; w przeciwnym razie zwraca wartość VARIANT_FALSE. Ta właściwość mogą odczytywać tylko, gdy źródło danych został zainicjowany.Jeśli próba odczytania właściwość przed źródło danych został zainicjowany, IDBProperties::GetProperies zwróci DB_S_ERRORSOCCURRED lub DB_E_ERRORSOCCURRED, odpowiednio, i będzie DBPROPSTATUS_NOTSUPPORTED zestaw w DBPROPzestaw_PROPERTIESINERROR dla tej właściwość.To zachowanie jest zgodnie ze specyfikacją OLE DB core Jeśli ten atrybut jest badany pod kątem połączenie bez użycia uwierzytelniania systemu Windows, zwracany jest VARIANT_FALSE. |
Obsługa interfejsu API OLE DB SPN
W poniższej tabela opisano funkcje element członkowski OLE DB, które obsługują nazwy SPN w klient połączenia:
Funkcja członka |
Opis |
---|---|
IDataInitialize::GetDataSource |
pwszInitializationStringmoże zawierać nowe słowa kluczowe ServerSPN i FailoverPartnerSPN. |
IDataInitialize::GetInitializationString |
Jeśli SSPROP_INIT_SERVERSPN i SSPROP_INIT_FAILOVERPARTNERSPN-do domyślnych wartości, zostaną uwzględnione w ciąg inicjującego przez ppwszInitString jako kluczowe wartości dla ServerSPN i FailoverPartnerSPN.W przeciwnym wypadku te słowa kluczowe nie zostaną uwzględnione w ciąg inicjującego. |
IDBInitialize::Initialize |
Jeśli monitowanie jest włączone ustawienie DBPROP_INIT_PROMPT danych źródło właściwości inicjujące, OLE DB logowania zostanie wyświetlone okno dialogowe.Dzięki temu SPN wprowadzone dla serwer dublowany i jego partner pracy awaryjnej. Dostawca ciąg w DPPROP_INIT_PROVIDERSTRING, jeśli zestaw, rozpozna nowe słowa kluczowe ServerSPN i FailoverPartnerSPN i ich wartości, jeśli jest obecny, aby zainicjować SSPROP_INIT_SERVER_SPN i SSPROP_INIT_FAILOVER_PARTNER_SPN. IDBProperties::SetPropertiesmoże być wywołana z zestaw właściwości SSPROP_INIT_SERVER_SPN i SSPROP_INIT_FAILOVER_PARTNER_SPN przed IDBInitialize::Initialize jest wywoływana.Jest to ciąg dostawca zamiast. Jeśli właściwość jest zestaw w więcej niż jednym miejscu, wartość zestaw programowo ma pierwszeństwo przed wartością zestaw w ciąg dostawca.Wartość zestaw podczas inicjowania ciąg ma pierwszeństwo przed wartością zestaw w oknie dialogowym logowania. To samo słowo kluczowe pojawi się więcej niż jeden raz w ciąg dostawca, pierwszeństwo ma wartość z pierwszego wystąpienia. |
IDBProperties::GetProperties |
IDBProperties::GetProperties mogą być wywoływane w celu uzyskania wartości nowe właściwości źródło danych inicjujących SSPROP_INIT_SERVERSPN i SSPROP_INIT_FAILOVERPARTNERSPN oraz nowe właściwości źródło danych, SSPROP_AUTHENTICATIONMETHOD i SSPROP_MUTUALLYAUTHENTICATED. |
IDBProperties::GetPropertyInfo |
IdbProperties::GetPropertyInfo będą one obejmowały nowe właściwości źródło danych inicjujących SSPROP_INIT_SERVERSPN i SSPROP_INIT_FAILOVERPARTNERSPN lub nowe właściwości źródło danych, SSPROP_AUTHENTICATION_METHOD i SSPROP_MUTUALLYAUTHENTICATED. |
IDBProperties::SetProperties |
IDBProperties::SetProperties do ustawiania wartości nowe dane należy wywołać źródło właściwości inicjujące, SSPROP_INITSERVERSPN i SSPROP_INIT_FAILOVERPARTNERSPN. Właściwości te zestaw w dowolnym czas, ale jeśli źródło danych jest już otwarty, zostanie zwrócony następujący błąd: DB_E_ERRORSOCCURRED, "Operacja Wielokrokowa OLE DB wygenerowała błędy.Sprawdź wszystkie wartości stanu OLE DB, jeśli są dostępne.Wykonano żadnego działania." |