SQLBrowseConnect

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)

SQLBrowseConnect 使用可分为三个级别的连接信息的关键字。 对于每个关键字,下表指示是否返回有效值列表以及该关键字是否可选。

1 级

关键字 是否返回列表? 是否可选? 说明
DSN 空值 SQLDataSources 返回 数据源的名称。 如果使用 DRIVER 关键字,则无法使用 DSN 关键字。
DRIVER 空值 SQL Server Native Client ODBC 驱动程序名称为 {SQL Server Native Client 11}。 如果使用 DSN 关键字,则无法使用 DRIVER 关键字。

2 级

关键字 是否返回列表? 是否可选? 说明
SERVER 数据源所驻留网络上的服务器名称。 术语“(local)”可以输入为服务器,在这种情况下,可以使用 SQL Server 的本地副本,即使这是非网络版本也是如此。
UID 用户登录 ID。
PWD 是(取决于用户) 用户指定的密码。
APP 调用 SQLBrowseConnect 的应用程序的名称。
WSID 工作站 ID。 通常,这是运行应用程序的计算机的网络名称。

级别 3

关键字 是否返回列表? 是否可选? 说明
DATABASE SQL Server 数据库的名称。
LANGUAGE SQL Server 使用的国家/地区语言。

SQLBrowseConnect 忽略 ODBC 数据源定义中存储的数据库和 LANGUAGE 关键字的值。 如果传递给 SQLBrowseConnect 的连接字符串中指定的数据库或语言无效,SQLBrowseConnect 将返回SQL_NEED_DATA和级别 3 连接属性。

以下属性通过调用 SQLSetConnectAttr 来设置,确定 SQLBrowseConnect 返回的结果集。

属性 说明
SQL_COPT_SS_BROWSE_CONNECT 如果它设置为SQL_MORE_INFO_YES,SQLBrowseConnect 将返回一个扩展的服务器属性字符串。

下面是 SQLBrowseConnect 返回的扩展字符串的示例:



ServerName\InstanceName;Clustered:No;Version:8.00.131



在此字符串中,分号用于分隔与服务器有关的各部分信息, 逗号用于分隔不同的服务器实例。
SQL_COPT_SS_BROWSE_SERVER 如果指定了服务器名称, SQLBrowseConnect 将返回指定服务器的信息。 如果SQL_COPT_SS_BROWSE_SERVER设置为 NULL,SQLBrowseConnect 将返回域中所有服务器的信息。



请注意,由于网络问题, SQLBrowseConnect 可能不会收到来自所有服务器的及时响应。 因此,每个请求所返回的服务器列表都可能不同。
SQL_COPT_SS_BROWSE_CACHE_DATA 如果 SQL_COPT_SS_BROWSE_CACHE_DATA 属性设置为 SQL_CACHE_DATA_YES,当缓冲区长度不足以容纳结果时,您可以提取块区中的数据。 此长度在 BUFFERLength 参数中指定为 SQLBrowseConnect。

当有更多的数据可用时,将返回 SQL_NEED_DATA。 如果检索不到更多的数据,将返回 SQL_SUCCESS。

默认值是 SQL_CACHE_DATA_NO。

对高可用性、灾难恢复的 SQLBrowseConnect 支持

有关使用 SQLBrowseConnect 连接到 AlwaysOn 可用性组群集的详细信息,请参阅 SQL Server Native Client Support for High Availability, Disaster Recovery

对服务主体名称 (SPN) 的 SQLBrowseConnect 支持

打开连接后,SQL Server Native Client 将SQL_COPT_SS_MUTUALLY_AUTHENTICATED并SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD用于打开连接的身份验证方法。

有关 SPN 的详细信息,请参阅 客户端连接(ODBC)中的服务主体名称(SPN)。

更改历史记录

更新的内容
介绍了 SQL_COPT_SS_BROWSE_CACHE_DATA。

另请参阅

SQLBrowseConnect 函数
ODBC API 实现细节