客户端连接中的服务主体名称 (SPN) (ODBC)
本主题介绍支持客户端应用程序中的服务主体名称 (SPN) 的 ODBC 属性和函数。有关客户端应用程序中的 SPN 的详细信息,请参阅客户端连接中的服务主体名称 (SPN) 支持。
连接字符串关键字
客户端应用程序使用以下连接字符串关键字可指定 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 并以 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。 |
支持指定 SPN 的 ODBC 函数
以下 ODBC 函数支持客户端应用程序和 SPN: