Поделиться через


SQLBrowseConnect

SQLBrowseConnect использует ключевые слова, которые можно разделить на три уровня сведений о подключении. Для каждого ключевого слова в следующей таблице указано, возвращается ли список допустимых значений и является ли ключевое слово необязательным.

уровне 1

Ключевое слово Возвращает список? Является необязательным? Описание
DSN Недоступно Нет Имя источника данных, возвращаемого SQLDataSources. Ключевое слово DSN нельзя использовать, если используется ключевое слово DRIVER.
DRIVER Недоступно Нет Microsoft?? SQL Server Native Client имя драйвера ODBC — {SQL Server Native Client 11}. Ключевое слово DRIVER нельзя использовать, если используется ключевое слово DSN.

Уровень 2

Ключевое слово Возвращает список? Является необязательным? Описание
SERVER Да Нет Имя сервера источника данных в сети. Термин "(local)" можно ввести в качестве сервера. В этом случае можно использовать локальную копию SQL Server, даже если это версия, не связанная с сетью.
ИД пользователя Нет Да Идентификатор входа пользователя.
PWD Нет Да (зависит от пользователя) Определяемый пользователем пароль.
APP Нет Да Имя приложения, вызывающего SQLBrowseConnect.
WSID Нет Да Идентификатор рабочей станции. Обычно это сетевое имя компьютера, на котором работает приложение.

Level 3

Ключевое слово Возвращает список? Является необязательным? Описание
DATABASE Да Да Имя базы данных SQL Server.
ЯЗЫК Да Да Национальный язык, используемый SQL Server.

SQLBrowseConnect игнорирует значения ключевых слов DATABASE и LANGUAGE, хранящиеся в определениях источников данных ODBC. Если база данных или язык, указанные в строке подключения, переданной в 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, то в случае, когда длина буфера недостаточна для размещения результата, можно получать данные фрагментами. Эта длина указывается в аргументе BufferLength для SQLBrowseConnect.

Если доступны дополнительные данные, возвращается значение SQL_NEED_DATA. Если нет неполученных данных, возвращается значение SQL_SUCCESS.

По умолчанию задано значение SQL_CACHE_DATA_NO.

Поддержка высокого уровня доступности и аварийного восстановления SQLBrowseConnect

Дополнительные сведения об использовании SQLBrowseConnect для подключения к кластеру групп доступности Always On см. в статье SQL Server Native Client Поддержка высокого уровня доступности и аварийного восстановления.

Поддержка функции SQLBrowseConnect для имен участников-служб

При открытии подключения SQL Server Native Client задает SQL_COPT_SS_MUTUALLY_AUTHENTICATED и SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD метод проверки подлинности, используемый для открытия подключения.

Дополнительные сведения об именах субъектов-служб см. в разделе Имена субъектов-служб (SPN) в клиентских подключениях (ODBC).

Журнал изменений

Обновленное содержимое
Добавлена документация по SQL_COPT_SS_BROWSE_CACHE_DATA.

См. также:

Функция SQLBrowseConnect
ODBC API Implementation Details