Имена участников-служб в клиентских соединениях (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. Возможные следующие значения.
Если при открытом соединении нельзя определить метод проверки подлинности, то возвращается 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 (при их наличии). Работа не была выполнена». |