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

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

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

Следующие ключевые слова строки инициализации поставщика поддерживают имена участников-служб в приложениях 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.

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

В следующей таблице описываются функции-члены 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.

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

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

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

IDBProperties::GetProperties

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

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 (при их наличии). Работа не была выполнена».

См. также

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