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


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

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

Ключевые слова в строке подключения

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

Ключевое слово Значение
ServerSPN Имя участника-службы для сервера. Значением по умолчанию является пустая строка, из-за которой SQL Server Native Client будет использовать имя субъекта-службы по умолчанию, созданное драйвером.
FailoverPartnerSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значением по умолчанию является пустая строка, из-за которой SQL Server Native Client будет использовать имя субъекта-службы по умолчанию, созданное драйвером.

Атрибуты соединения

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

Имя Тип Использование
SQL_COPT_SS_SERVER_SPN

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

Значение этого атрибута можно запрашивать только после его задания программным путем или после открытия соединения. В противном случае будет возвращено значение SQL_ERROR, а в журнал занесена диагностическая запись с кодом SQLState (равным 08003) и сообщением «Соединение не открыто».

При попытке установить этот атрибут при открытом соединении будет возвращено значение SQL_ERROR и в журнал будет занесена диагностическая запись с кодом SQLState (равным HY011) и сообщением «В настоящее время эта операция недопустима».
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD SQLTCHAR, только чтение Возвращает метод проверки подлинности, используемый для соединения. Значение, возвращаемое приложению, — это значение, которое Windows возвращает SQL Server Native Client. Возможны следующие значения:

— "NTLM", который возвращается при открытии подключения с использованием проверки подлинности NTLM.
— "Kerberos", который возвращается при открытии подключения с использованием проверки подлинности Kerberos.

Этот атрибут можно прочитать только при открытом соединении, использующем проверку подлинности Windows. При попытке считать его до открытия соединения вернется значение SQL_ERROR и в журнал будет записана ошибка с кодом SQLState 08003 и сообщением «Соединение не открыто».

При попытке запросить значение этого атрибута применительно к соединению, в котором не используется проверка подлинности Windows, возвращается значение SQL_ERROR, а в журнал вносится диагностическая запись с кодом SQLState (равным HY092) и сообщением «Недопустимый идентификатор атрибута или параметра (метод SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD доступен только для доверительных соединений)».

Если не удается определить используемый метод проверки подлинности, происходит возврат значения SQL_ERROR и в журнал вносится диагностическая запись с кодом SQLState (равным HY000) и сообщением «Общая ошибка».
SQL_COPT_SS_MUTUALLY_AUTHENTICATED SQLSMALLINT, только для чтения Происходит возврат значения SQL_TRUE, если сервер соединения прошел взаимную проверку подлинности; в противном случае возвращается значение SQL_FALSE.

Этот атрибут можно прочитать только при открытом соединении. При попытке считать его до открытия соединения вернется значение SQL_ERROR и в журнал будет записана ошибка с кодом SQLState 08003 и сообщением «Соединение не открыто».

При попытке запросить значение этого атрибута применительно к соединению, в котором не используется проверка подлинности Windows, будет возвращено значение SQL_FALSE.

Поддержка задания имен участников-служб с помощью функций ODBC

Клиентские приложения и имена участников-служб поддерживаются следующими функциями ODBC.

См. также:

SQL Server Native Client (ODBC)