SQLBrowseConnect

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

级别 1

关键字

是否返回列表?

是否可选?

说明

DSN

不适用

SQLDataSources 返回的数据源的名称。如果使用 DRIVER 关键字,则无法使用 DSN 关键字。

DRIVER

不适用

Microsoft® SQL Server Native Client ODBC 驱动程序名称为 {SQL Server Native Client 10}。如果使用 DSN 关键字,则无法使用 DRIVER 关键字。

级别 2

关键字

是否返回列表?

是否可选?

说明

SERVER

数据源所驻留网络上的服务器名称。可以输入术语 "(local)" 作为服务器,在此情况下,即使此为非联网版本,也可以使用 SQL Server 的本地副本。

UID

用户登录 ID。

PWD

是(取决于用户)

用户指定的密码。

APP

调用 SQLBrowseConnect 的应用程序的名称。

WSID

工作站 ID。通常,这是运行应用程序的计算机的网络名称。

级别 3

关键字

是否返回列表?

是否可选?

说明

DATABASE

SQL Server 数据库的名称。

LANGUAGE

SQL Server 使用的区域语言。

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

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

属性

说明

SQL_COPT_SS_BROWSE_CONNECT

如果在 SQL Server 2000 和更高版本中设置为 SQL_MORE_INFO_YES,SQLBrowseConnect 将返回服务器属性的扩展字符串。

以下是在 SQL Server 2000 中 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,当缓冲区长度不足以容纳结果时,您可以提取块区中的数据。此长度在 SQLBrowseConnectBufferLength 参数中指定。

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

默认值是 SQL_CACHE_DATA_NO。

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

打开连接时,SQL Server Native Client 将 SQL_COPT_SS_MUTUALLY_AUTHENTICATED 和 SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD 设置为用于打开此连接的身份验证方法。

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

请参阅

概念

其他资源