クライアント接続におけるサービス プリンシパル名 (SPN) (ODBC)
ここでは、クライアント アプリケーションのサービス プリンシパル名 (SPN) をサポートする ODBC 属性および関数について説明します。 クライアント アプリケーションでの SPN の詳細については、「クライアント接続でのサービス プリンシパル名 (SPN) のサポート」および「Kerberos 相互認証の取得」を参照してください。
接続文字列キーワード
次の接続文字列キーワードを使用すると、クライアント アプリケーションは SPN を指定できます。
キーワード |
値 |
---|---|
ServerSPN |
サーバーの SPN。 既定値は空文字です。この場合、SQL Server Native Client は、ドライバーが生成した SPN を既定値として使用します。 |
FailoverPartnerSPN |
フェールオーバー パートナーの SPN。 既定値は空文字です。この場合、SQL Server Native Client は、ドライバーが生成した SPN を既定値として使用します。 |
接続属性
次の接続属性を使用すると、クライアント アプリケーションは、SPN を指定して認証方法を照会できます。
名前 |
型 |
使用法 |
---|---|---|
SQL_COPT_SS_SERVER_SPN SQL_COPT_SS_FAILOVER_PARTNER_SPN |
SQLTCHAR、読み取り/書き込み |
サーバーの SPN を指定します。 既定値は空文字です。この場合、SQL Server Native Client は、ドライバーが生成した SPN を既定値として使用します。 この属性を照会できるのは、属性がプログラムによって設定された後、または接続が開かれた後だけです。 接続が開いていない場合にこの属性を照会し、属性がプログラムによって設定されていない場合、SQL_ERROR が返され、"接続は開いていません" というメッセージで SQLState 08003 の診断レコードが記録されます。 接続が開いている場合にこの属性を設定すると、SQL_ERROR が返され、"この操作は、ここでは実行できません" というメッセージで SQLState HY011 の診断レコードが記録されます。 |
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD |
SQLTCHAR、読み取り専用 |
接続に使用された認証方法を返します。 アプリケーションに返される値は、Windows が SQL Server Native Client に返す値です。 次のいずれかが返されます。
この属性は、Windows 認証を使用する、開いている接続でのみ読み取りが可能です。 接続が開かれる前にこの属性を読み取ると、SQL_ERROR が返され、"接続は開いていません" というメッセージで SQLState 08003 がエラーとして記録されます。 この属性が Windows 認証を使用していない接続で照会されると、SQL_ERROR が返され、"属性またはオプション識別子が無効です (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD は信頼関係接続でのみ使用できます)" というメッセージで SQLState HY092 がエラーとして記録されます。 認証方法を特定できない場合は、SQL_ERROR が返され、"一般的なエラー" というメッセージで SQLState HY000 がエラーとして記録されます。 |
SQL_COPT_SS_MUTUALLY_AUTHENTICATED |
SQLSMALLINT、読み取り専用 |
接続されているサーバーが相互に認証された場合は SQL_TRUE を返します。それ以外の場合は SQL_FALSE を返します。 この属性は、開いている接続のみで読み取ることができます。 接続が開かれる前にこの属性を読み取ると、SQL_ERROR が返され、"接続は開いていません" というメッセージで SQLState 08003 がエラーとして記録されます。 Windows 認証を使用していない接続に対してこの属性が照会されると、SQL_FALSE が返されます。 |
ODBC 関数による SPN 指定のサポート
次の ODBC 関数では、クライアント アプリケーションと SPN をサポートしています。