Nomi SPN (Service Principal Name) nelle connessioni client (ODBC)
In questo argomento vengono descritti gli attributi e le funzioni ODBC che supportano i nomi SPN (Service Principal Name, nome dell'entità servizio) nelle applicazioni client. Per altre informazioni sugli SPN nelle applicazioni client, vedere Supporto di Service Principal Name (SPN) in Connessioni client e Ottenere l'autenticazione Kerberos reciproca.
Parole chiave per le stringhe di connessione
Le parole chiave per le stringhe di connessione seguenti consentono la specifica di un nome SPN nelle applicazioni client.
Parola chiave | Valore |
---|---|
ServerSPN |
Nome SPN del server. Il valore predefinito è una stringa vuota, che causa SQL Server Native Client di usare il nome SPN predefinito generato dal driver. |
FailoverPartnerSPN |
Nome SPN del partner di failover. Il valore predefinito è una stringa vuota, che causa SQL Server Native Client di usare il nome SPN predefinito generato dal driver. |
Attributi di connessione
Gli attributi di connessione seguenti consentono la specifica di un nome SPN e di una query per il metodo di autenticazione nelle applicazioni client.
Nome | Type | Uso |
---|---|---|
SQL_COPT_SS_SERVER_SPN SQL_COPT_SS_FAILOVER_PARTNER_SPN |
SQLTCHAR, lettura/scrittura | Specifica il nome SPN per il server. Il valore predefinito è una stringa vuota, che causa SQL Server Native Client di usare il nome SPN predefinito generato dal driver. Su questo attributo è possibile eseguire una query solo in seguito alla relativa impostazione a livello di codice o all'apertura di una connessione. Se si tenta di eseguire una query su questo attributo in una connessione non aperta e con l'attributo non impostato a livello di codice, viene restituito SQL_ERROR e viene registrato un record di diagnostica con SQLState 08003 e il messaggio "Connessione non aperta". Se si tenta di impostare l'attributo quando una connessione è aperta, viene restituito SQL_ERROR e viene registrato un record di diagnostica con SQLState HY011 e il messaggio "Operazione correntemente non valida". |
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD | SQLTCHAR, sola lettura | Restituisce il metodo di autenticazione utilizzato per la connessione. Il valore restituito all'applicazione è il valore restituito da Windows a SQL Server Native Client. I valori possibili sono: - "NTLM", restituito quando viene aperta una connessione usando l'autenticazione NTLM. - "Kerberos", restituito quando viene aperta una connessione usando l'autenticazione Kerberos. Questo attributo può essere letto solo per una connessione aperta in cui è stata utilizzata l'autenticazione di Windows. Se si tenta di leggerlo prima che venga aperta una connessione, viene restituito SQL_ERROR e viene registrato un errore con SQLState 08003 e il messaggio "Connessione non aperta". Se si esegue una query su questo attributo in una connessione in cui non è stata utilizzata l'autenticazione di Windows, viene restituito SQL_ERROR e viene registrato un errore con SQLState HY092 e il messaggio "Identificatore di opzione o di attributo non valido (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD è disponibile solo per connessioni trusted)". Se non è possibile determinare il metodo di autenticazione, viene restituito SQL_ERROR e viene registrato un errore con SQLState HY000 e il messaggio "Errore generale". |
SQL_COPT_SS_MUTUALLY_AUTHENTICATED | SQLSMALLINT, sola lettura | Restituisce SQL_TRUE se nella connessione è stata eseguita un'autenticazione reciproca del server. In caso contrario, restituisce SQL_FALSE. Questo attributo può essere letto solo per una connessione aperta. Se si tenta di leggerlo prima che venga aperta una connessione, viene restituito SQL_ERROR e viene registrato un errore con SQLState 08003 e il messaggio "Connessione non aperta". Se viene eseguita una query sull'attributo per una connessione in cui non è stata utilizzata l'autenticazione di Windows, viene restituito SQL_FALSE. |
Supporto delle funzioni ODBC per la specifica dei nomi SPN
Le funzioni ODBC seguenti supportano le applicazioni client e i nomi SPN: