Поделиться через


Имена участника-службы в клиентских соединениях (OLE DB)

В этом разделе описываются свойства OLE DB и функции элементов, поддерживающие имена участника-службы (SPN) в клиентских приложениях. Дополнительные сведения об именах участника-службы в клиентских приложениях см. в разделе Поддержка имени участника-службы в клиентских соединениях. Образец см. в разделе Интеграция проверки подлинности Kerberos (OLE DB).

Ключевые слова строки инициализации поставщика

Следующие ключевые слова строки инициализации поставщика поддерживают имена участников-служб в приложениях OLE DB. В следующей таблице значения в столбце ключевых слов используются строкой поставщика в методе IDBInitialize::Initialize. Значения в столбце описания используются в строках инициализации при соединении с помощью ADO или метода IDataInitialize::GetDataSource.

Ключевое слово

Описание

Значение

ServerSPN

Имя участника-службы сервера

Имя участника-службы для сервера. Значением по умолчанию является пустая строка, и в этом случае собственный клиент SQL Server использует имя участника-службы по умолчанию, создаваемое поставщиком.

FailoverPartnerSPN

Имя участника-службы партнера по обеспечению отработки отказа

Имя участника-службы для партнера по обеспечению отработки отказа. Значением по умолчанию является пустая строка, и в этом случае собственный клиент SQL Server использует имя участника-службы по умолчанию, создаваемое поставщиком.

Свойства инициализации источника данных

Следующие свойства набора свойств DBPROPSET_SQLSERVERDBINIT позволяют приложениям указывать имена участников-служб.

Название

Тип

Использование

SSPROP_INIT_SERVERSPN

VT_BSTR, чтение и запись

Задает имя участника-службы для сервера. Значением по умолчанию является пустая строка, и в этом случае собственный клиент SQL Server использует имя участника-службы по умолчанию, создаваемое поставщиком.

SSPROP_INIT_FAILOVERPARTNERSPN

VT_BSTR, чтение и запись

Указывает имя участника-службы для партнера по обеспечению отработки отказа. Значением по умолчанию является пустая строка, и в этом случае собственный клиент SQL Server использует имя участника-службы по умолчанию, создаваемое поставщиком.

Свойства источника данных

Следующие свойства набора свойств DBPROPSET_SQLSERVERDATASOURCEINFO позволяют приложениям распознавать метод проверки подлинности.

Название

Тип

Использование

SSPROP_INTEGRATEDAUTHENTICATIONMETHOD

VT_BSTR, только для чтения

Возвращает метод проверки подлинности, используемый для соединения. Приложению возвращается значение, которое Windows возвращает собственному клиенту SQL Server. Возможные следующие значения.

  • Значение «NTLM», которое возвращается в том случае, если соединение установлено с использованием проверки подлинности NTLM.

  • Значение «Kerberos», которое возвращается в том случае, если соединение установлено с использованием проверки подлинности Kerberos.

Если при открытом соединении нельзя определить метод проверки подлинности, то возвращается значение VT_EMPTY.

Это свойство доступно для чтения только в том случае, если инициализирован источник данных. При попытке считывания свойства до инициализации источника данных метод IDBProperties::GetProperies соответственно вернет ошибку DB_S_ERRORSOCCURRED или DB_E_ERRORSOCCURRED, и для атрибута DBPROPSET_PROPERTIESINERROR данного свойства будет установлено значение DBPROPSTATUS_NOTSUPPORTED. Это поведение соответствует основной спецификации OLE DB.

SSPROP_MUTUALLYAUTHENICATED

VT_BOOL, только для чтения

Если при соединении серверов была выполнена взаимная проверка подлинности, возвращает значение VARIANT_TRUE. В противном случае возвращает VARIANT_FALSE.

Это свойство доступно для чтения только в том случае, если инициализирован источник данных. При попытке считывания свойства до инициализации источника данных метод IDBProperties::GetProperies соответственно вернет ошибку DB_S_ERRORSOCCURRED или DB_E_ERRORSOCCURRED, и для атрибута DBPROPSET_PROPERTIESINERROR этого свойства будет установлено значение DBPROPSTATUS_NOTSUPPORTED. Это поведение соответствует основной спецификации OLE DB.

Если этот атрибут запрашивается соединением, не использующим проверку подлинности Windows, возвращается значение VARIANT_FALSE.

Поддержка OLE DB API для имен участников-служб

В следующей таблице описываются функции-члены OLE DB, поддерживающие имена участников-служб в клиентских соединениях.

Функция-член

Описание

IDataInitialize::GetDataSource

Параметр pwszInitializationString может содержать новые ключевые слова ServerSPN и FailoverPartnerSPN.

IDataInitialize::GetInitializationString

Если свойства SSPROP_INIT_SERVERSPN и SSPROP_INIT_FAILOVERPARTNERSPN не имеют значений по умолчанию, они будут включены в строку инициализации с помощью параметра ppwszInitString в виде ключевых слов для ServerSPN и FailoverPartnerSPN. В противном случае эти ключевые слова не будут включены в строку инициализации.

IDBInitialize::Initialize

Если запрос включается путем установки свойства DBPROP_INIT_PROMPT в свойствах инициализации источника данных, будет отображаться диалоговое окно входа OLE DB. Это позволяет ввести имена участников-служб как для основного сервера, так и для его партнера по обеспечению отработки отказа.

Строка поставщика в свойстве DPPROP_INIT_PROVIDERSTRING, если установлена, будет распознавать новые ключевые слова ServerSPN и FailoverPartnerSPN, и использовать их значения (при их наличии) для инициализации свойств SSPROP_INIT_SERVER_SPN и SSPROP_INIT_FAILOVER_PARTNER_SPN.

Чтобы установить свойства SSPROP_INIT_SERVER_SPN и SSPROP_INIT_FAILOVER_PARTNER_SPN до вызова IDBInitialize::Initialize, можно вызвать метод IDBProperties::SetProperties. Это является альтернативой использованию строки поставщика.

Если свойство устанавливается в нескольких местах, заданное программно значение имеет приоритет над значением, указанным в строке поставщика. Значение, заданное в строке инициализации, имеет приоритет над значением, заданным в диалоговом окне входа.

Если одно ключевое слово появляется в строке поставщика несколько раз, приоритет имеет первое значение.

IDBProperties::GetProperties

Чтобы получить значения новых свойств инициализации источника данных SSPROP_INIT_SERVERSPN и SSPROP_INIT_FAILOVERPARTNERSPN, а также новых свойств источника данных SSPROP_AUTHENTICATIONMETHOD и SSPROP_MUTUALLYAUTHENTICATED, можно вызвать метод IDBProperties::GetProperties.

IDBProperties::GetPropertyInfo

Метод IdbProperties::GetPropertyInfo будет включать новые свойства инициализации источника данных SSPROP_INIT_SERVERSPN и SSPROP_INIT_FAILOVERPARTNERSPN или новые свойства источника данных SSPROP_AUTHENTICATION_METHOD и SSPROP_MUTUALLYAUTHENTICATED.

IDBProperties::SetProperties

Метод IDBProperties::SetProperties можно вызвать, чтобы установить значения новых свойств инициализации источника данных SSPROP_INITSERVERSPN и SSPROP_INIT_FAILOVERPARTNERSPN.

Эти свойства можно задать в любое время, но если источник данных уже открыт, будет возвращена следующая ошибка: DB_E_ERRORSOCCURRED, «Многошаговая операция OLE DB сформировала ошибки. Проверьте каждое значение состояния OLE DB (если возможно). Работа не была выполнена».

См. также

Основные понятия

Собственный клиент SQL Server (OLE DB)