SQLBrowseConnect

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

级别 1

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

级别 2

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

Level 3

关键字 是否返回列表? 是否可选? 描述
DATABASE SQL Server 数据库的名称。
LANGUAGE SQL Server使用的语言。

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

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

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

下面是 SQLBrowseConnect:ServerName\InstanceName 返回的扩展字符串的示例;Clustered:No;版本: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,当缓冲区长度不足以容纳结果时,您可以提取块区中的数据。 此长度在 SQLBrowseConnect 的 BufferLength 参数中指定。

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

默认值是 SQL_CACHE_DATA_NO。

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

有关使用 SQLBrowseConnect 连接到Always On可用性组群集的详细信息,请参阅SQL Server Native Client高可用性和灾难恢复支持

对服务主体名称 (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 实现细节