Freigeben über


Dienstprinzipalnamen (SPN) in Clientverbindungen (ODBC)

In diesem Thema werden ODBC-Attribute und Funktionen beschrieben, die Dienstprinzipalnamen (SPN) in Clientanwendungen unterstützen. Weitere Informationen über SPN in Clientanwendungen finden Sie unter Unterstützung von Dienstprinzipalnamen (SPN) in Clientverbindungen.

Schlüsselwörter für Verbindungszeichenfolgen

Die folgenden Schlüsselwörter für Verbindungszeichenfolgen ermöglichen Clientanwendungen, einen SPN anzugeben.

Schlüsselwort

Wert

ServerSPN

Der SPN für den Server. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.

FailoverPartnerSPN

Der SPN für den Failoverpartner. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.

Verbindungsattribute

Die folgenden Verbindungsattribute ermöglichen es Clientanwendungen, einen SPN anzugeben und eine Authentifizierungsmethode abzufragen.

Name

Typ

Verwendung

SQL_COPT_SS_SERVER_SPN

SQL_COPT_SS_FAILOVER_PARTNER_SPN

SQLTCHAR, read/write

Gibt den SPN für den Server an. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.

Dieses Attribut kann nur abgefragt werden, nachdem es programmgesteuert festgelegt wurde oder nachdem eine Verbindung geöffnet wurde. Wenn versucht wird, dieses Attribut für eine Verbindung abzufragen, die nicht geöffnet ist, und wenn dieses nicht programmgesteuert festgelegt wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Diagnosedatensatz mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn versucht wird, dieses Attribut festzulegen, wenn eine Verbindung geöffnet ist, dann wird SQL_ERROR zurückgegeben, und es wird ein Diagnosedatensatz mit SQLState HY011 und der Meldung "Der Vorgang ist zu diesem Zeitpunkt nicht gültig" protokolliert.

SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD

SQLTCHAR, read-only

Gibt die für die aktuelle Verbindung verwendete Authentifizierungsmethode zurück. An die Anwendung wird der Wert zurückgegeben, den Windows an SQL Server Native Client zurückgibt. Folgende Werte sind möglich:

  • "NTLM" wird zurückgegeben, wenn eine Verbindung mit der NTLM-Authentifizierung geöffnet wird.

  • "Kerberos" wird zurückgegeben, wenn eine Verbindung mit der Kerberos-Authentifizierung geöffnet wird.

Dieses Attribut kann nur für eine geöffnete Verbindung gelesen werden, für die die Windows-Authentifizierung verwendet wurde. Wenn versucht wird, dieses Attribut zu lesen, bevor eine Verbindung geöffnet wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn dieses Attribut für eine Verbindung abgefragt wird, für die nicht die Windows-Authentizierung verwendet wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState HY092 und der Meldung "Attribut/Optionsbezeichner ungültig (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD ist nur für vertrauenswürdige Verbindungen verfügbar)" protokolliert.

Wenn die Authentifizierungsmethode nicht ermittelt werden kann,dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState HY000 und der Meldung "Allgemeiner Fehler" protokolliert.

SQL_COPT_SS_MUTUALLY_AUTHENTICATED

SQLSMALLINT, read-only

Gibt SQL_TRUE zurück, wenn der Server in der Verbindung gegenseitig authentifiziert wurde; andernfalls wird SQL_FALSE zurückgegeben.

Dieses Attribut kann nur für eine geöffnete Verbindung gelesen werden. Wenn versucht wird, dieses Attribut zu lesen, bevor eine Verbindung geöffnet wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn dieses Attribut für eine Verbindung abgefragt wird, für die keine Windows-Authentifizierung verwendet wurde, dann wird SQL_FALSE zurückgegeben.

ODBC-Funktionsunterstützung zum Angeben von SPN

Die folgenden ODBC-Funktionen unterstützen Clientanwendungen und SPN: