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 zu SPNs in Clientanwendungen finden Sie unter Unterstützung des Dienstprinzipalsnamens (Service Principal Name, SPN) in Clientverbindungen und Abrufen der gegenseitigen Kerberos-Authentifizierung.

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, die dazu führt, dass SQL Server Native Client den vom Treiber generierten Standard-SPN verwendet.
FailoverPartnerSPN Der SPN für den Failoverpartner. Der Standardwert ist eine leere Zeichenfolge, die dazu führt, dass SQL Server Native Client den vom Treiber generierten Standard-SPN verwendet.

Verbindungsattribute

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

Name type 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, die dazu führt, dass SQL Server Native Client den vom Treiber generierten Standard-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. Der an die Anwendung zurückgegebene Wert ist der Wert, den Windows an SQL Server Native Client zurückgibt. Mögliche Werte:

– "NTLM", das zurückgegeben wird, wenn eine Verbindung mithilfe der NTLM-Authentifizierung geöffnet wird.
– "Kerberos", das zurückgegeben wird, wenn eine Verbindung mithilfe der Kerberos-Authentifizierung geöffnet wird.

Dieses Attribut kann nur für eine offene Verbindung gelesen werden, die die Windows-Authentifizierung verwendet hat. 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-Authentifizierung verwendet wurde, 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, wird SQL_FALSE zurückgegeben.

ODBC-Funktionsunterstützung zum Angeben von SPN

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

Weitere Informationen

SQL Server Native Client (ODBC)