Имена участника-службы в клиентских соединениях (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.